Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Regex without 'm' or '/'

by danger (Priest)
on Jul 10, 2002 at 04:05 UTC ( #180667=note: print w/ replies, xml ) Need Help??


in reply to Regex without 'm' or '/'
in thread Am I on the pipe, or what?

What I cannot find in the on-line docs

Its an operator thing, not a regex thing --- from perlop under "Binding Operators":

... If the right argument is an expression rather than a search pattern, substitution, or transliteration, it is interpreted as a search pattern at run time. This can be less efficient than an explicit search, because the pat- tern must be compiled every time the expression is evalu- ated.

This can sometimes cause problems for newcomers, especially when they use split with a double-quoted string as the split pattern (as seems to happen with undue frequency) and have an escaped metacharacter in the pattern:

$_ = 'this has a | pipe'; @a = split /\|/; # good print join(":", @a),"\n"; @a = split "\|"; # oops print join(":", @a),"\n";

In the second case, the double-quoted string is first evaluated and the *resulting* string (sans backslash) is then used as the pattern in the regex.


Comment on Re: Regex without 'm' or '/'
Select or Download Code
Re: Re: Regex without 'm' or '/'
by hv (Parson) on Feb 24, 2003 at 01:19 UTC
    If the right argument is an expression rather than a search pattern, substitution, or transliteration, it is interpreted as a search pattern at run time. This can be less efficient than an explicit search, because the pat- tern must be compiled every time the expression is evalu- ated.

    This perlop text must be a holdover from a while back. At least as far back as 5.005_03, code like $str1 =~ 'bc' (with a constant string for the pattern) would be compiled only once. Between 5.6.0 and 5.6.1 an extra check was added, so that even $str =~ $str2 would not be recompiled as long as $str2 had not changed.

    I guess the second statement should simply be deleted from that paragraph.

    Hugo

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (11)
As of 2014-09-19 14:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (140 votes), past polls