note
roboticus
<p>[yoda54]:</p>
<p>I put this together:</p>
<c>
#!/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
</c>
<p>It mostly works, but as you can see from the following run, I haven't been able to make back references work...</p>
<c>
roboticus@Boink:~
$ perl pm870806_dyn_regex.pl
That bird says "cluck!"
xyzzy plugh ac c$1a c$1a c$1a
</c>
<p>...[roboticus]</p>
870806
870806