Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Store regular expressions in a file.

by cdarke (Prior)
on Nov 11, 2010 at 10:58 UTC ( [id://870813]=note: print w/replies, xml ) Need Help??


in reply to Store regular expressions in a file.

this 'data' is a regular expression

No, it is not a regular expression, only the duck is a regular expression. s is a Perl operator. If you can it would be a lot easier to have two columns, the first being the RE pattern ('duck') and the second being the replacement text ('luck') and then read them into variables (using split) - it is perfectly valid (and common) to store an RE in a Perl variable.

Otherwise you will be reduced to doing nasty things like eval, and you don't want to go there.

Replies are listed 'Best First'.
Re^2: Store regular expressions in a file.
by yoda54 (Monk) on Nov 11, 2010 at 11:22 UTC
    So something like this? I don't get any output.

    Thanks

    #!/usr/bin/perl use strict; use warnings; my $data = "duck"; my $r; while(<DATA>) { chomp; my ($x, $y) = split(/\s/, $_); $r->{$x} = qr/$y/; if ($data =~ $r->{"duck"}) { print "$data\n"; } } __DATA__ duck s/duck/luck/

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (7)
As of 2024-03-28 08:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found