my $var = "my dog spot";
my $expr = qr|(my dog) spot|;
my $sub = qr|\1 spooge|;
$var =~ s/$expr/$sub/;
print $var
#error: "/\1 spooge/: reference to nonexistent group"
####
my $var = "my dog spot";
my $expr = qr|(my dog) spot|;
my $sub = qr|$1 spooge|;
$var =~ s/$expr/$sub/;
print $var;
#prints: (?-xism: spooge)
####
my $var = "my dog spot";
my $expr = qr|(my dog) spot|;
my $sub = qq|$1 spooge|;
$var =~ s/$expr/qr|$sub|/e;
print $var;
#prints (?-xism: spooge)
####
my $var = "my dog spot";
my $expr = qq|(my dog) spot|;
my $sub = qq|\1 spooge|; #could be $1
$var =~ s/$expr/$sub/e;
#prints " spooge"