Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Store regular expressions in a file.

by roboticus (Canon)
on Nov 11, 2010 at 12:56 UTC ( #870852=note: print w/ replies, xml ) Need Help??


in reply to Store regular expressions in a file.

yoda54:

I put this together:

#!/usr/bin/perl use strict; use warnings; # Read the regexes my @Rexes; while (my $t=<DATA>) { chomp $t; last if $t=~/^$/; my ($regex, $repl) = split /\t+/, $t; push @Rexes, [ qr($regex), $repl ]; } # Process the text while (my $l = <DATA>) { $l=~s/$$_[0]/$$_[1]/eg for @Rexes; print $l; } __DATA__ duck cluck a(b+)c c$1a That bird says "duck!" xyzzy plugh ac abc abbc abbbc

It mostly works, but as you can see from the following run, I haven't been able to make back references work...

roboticus@Boink:~ $ perl pm870806_dyn_regex.pl That bird says "cluck!" xyzzy plugh ac c$1a c$1a c$1a

...roboticus


Comment on Re: Store regular expressions in a file.
Select or Download Code
Re^2: Store regular expressions in a file.
by eff_i_g (Curate) on Nov 11, 2010 at 15:48 UTC
    #!/usr/local/bin/perl use strict; use warnings; use String::Interpolate qw(safe_interpolate); # Read the regexes my @Rexes; while (my $t = <DATA>) { chomp $t; last if $t =~ /^$/; my ($regex, $repl) = split /\t+/, $t; push @Rexes, [ qr($regex), $repl ]; } # Process the text while (my $l = <DATA>) { $l=~ s/$$_[0]/safe_interpolate($$_[1])/eg for @Rexes; print $l, "\n"; } __DATA__ duck cluck a(b+)c \uc${1}\ua That bird says "duck!" xyzzy plugh ac abc abbc abbbc
    That bird says "cluck!" xyzzy plugh ac CbA CbbA CbbbA
      Thanks everyone for the enlightenment!!

      ++eff_i_g:

      Sweet! I played with it for a while before giving up on the capture groups. I'll have to be sure to keep this handy!

      ...roboticus

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2014-09-15 10:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (146 votes), past polls