Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

How can I quote a variable to use in a regexp?

by faq_monk (Initiate)
on Oct 08, 1999 at 00:25 UTC ( #663=perlfaq nodetype: print w/ replies, xml ) Need Help??

Current Perl documentation can be found at

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''.

Log In?

What's my password?
Create A New User
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (17)
As of 2015-10-13 19:46 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (314 votes), past polls