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"