[Israel.pm] regex objects - a better example
Eitan Schuler
eitan.schuler at gmail.com
Fri Feb 18 02:11:28 PST 2005
Dear mongers,
In my YAPC-talk I gave a bad example on using the regex objects (qr//).
qr compiles the pattern only once.
Here is a better example taken out of "Programming Perl".
Let's say we have a slew of patterns which we want to match each like this:
foreach $item(@data){
foreach $pat(@patterns){
if ($item =~ /$pat/){...}
}
}
The regex will compile each time. Not very efficient.
/o we cannot use here because $pat varies in the inner loop.
The solution is qr//
@regexes=map {qr/$_/} @patterns;
foreach $item(@data){
foreach $pat(@regexes){
if ($item =~ $pat){...}
}
}
Eitan
More information about the Perl
mailing list