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

Re: Store regular expressions in a file.

by sundialsvc4 (Abbot)
on Nov 11, 2010 at 12:08 UTC ( #870837=note: print w/replies, xml ) Need Help??


in reply to Store regular expressions in a file.

The magic voodoo you are looking for is:   qr/some_expression/.

This operator compiles a regular expression that is made from some_string.

When constructing the string, be careful:   you might be tempted to use interpolation (double-quotes...) but this will cause the “rabbit-food” of the regex syntax itself to be turned into escape-characters.

Furthermore, you might find that you can successfully put a string-variable reference into the regular expression string (i.e. without using qr//), and find that it is properly interpolated.   If you simply want to substitute “a particular string to search for” into an otherwise-fixed expression, this is one way to do that.

If the regexes to be used are truly arbitrary, however, you will want to use qr//, and to enclose that statement in an eval block to trap runtime errors caused by invalid regex syntax.

  • Comment on Re: Store regular expressions in a file.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://870837]
help
Chatterbox?
[Your Mother]: Stick with what you know. Or post a SOPW and if it's not complicated I guarantee someone will answer; me if it's straightforward and no one else gets it better first.
[1nickt]: ++YourMother (Grammar Vigilante of Bristol)
[Lady_Aleena]: Um, how does grep do multiline? print "$file:$_" if grep { /get_(array|hash| data)\(.+\)/ } $_; only returns the same 18 lines the command line grep does.
[Lady_Aleena]: my scratchpad has what I have so far.
[choroba]: what do you mean by multiline?
[Discipulus]: thanks 1nickt!
[choroba]: grep is a filter, it selects elements from a list based on a boolean condition
[moritz]: you need to read the file in one go to do a multiline regex match
[erix]: ha ha, I like the Vigilante
[Lady_Aleena]: Forget it. I'm getting angry with it.

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (12)
As of 2017-05-23 19:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?