Current Perl documentation can be found at perldoc.perl.org.
Here is our local, out-dated (pre-5.6) version:
The Perl parser will expand $variable
and
@variable
references in regular expressions unless the
delimiter is a single quote. Remember, too, that the right-hand side of a s/// substitution is considered a double-quoted string (see the perlop manpage for more details). Remember also that any regexp special characters will be acted on unless you precede the substitution with
Q. Here's an example:
$string = "to die?"; $lhs = "die?"; $rhs = "sleep no more";
$string =~ s/Q$lhs/$rhs/; # $string is now "to sleep no more"
Without the Q, the regexp would also spuriously match ``di''.