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

Re^2: Regex help

by graff (Chancellor)
on Jul 26, 2009 at 02:50 UTC ( [id://783251]=note: print w/replies, xml ) Need Help??


in reply to Re: Regex help
in thread Regex help

Is that documented behaviour? Where?

Yes, in perlre, as follows:

An unescaped "$" or "@" interpolates the corresponding variable, while escaping will cause the literal string "\$" to be matched.

(Though in the version of the perlre man page I have installed, for perl 5.8.8, this sentence comes second in a paragraph that begins with:

You cannot include a literal "$" or "@" within a "\Q" sequence."

I can understand that some might consider this obscure.)

Replies are listed 'Best First'.
Re^3: Regex help
by pKai (Priest) on Jul 26, 2009 at 09:48 UTC

    Those remarks in perlre are not specific to character classes, and one regularly thinks these character classes are more special.

    Explicit mentioning of $ being special in character classes is found in perlretut#Using-character-classes:

    …The special characters for a character class are -]\^$ (and the pattern delimiter, whatever it is). ] is special because it denotes the end of a character class. $ is special because it denotes a scalar variable.…

    So indead not only punctation variables are being expanded:

    E:\Temp>perl -Mstrict -we "my $foo=7;die qq(matched '$&'\n) if '123456 +7rab_.'=~/[${foo}bar]+/" matched '7rab'

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://783251]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2024-04-19 15:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found