On Sun, Jun 1, 2008 at 3:39 PM, Rob Dixon <[EMAIL PROTECTED]> wrote: > Dr.Ruud wrote: >> Richard Lee schreef: >> >>> $pattern = '.*(?:' . join('|', @ARGV) . ')'; >> >> Safer: >> >> $pattern = '.*(?:' . join('|', map quotemeta, @ARGV) . ')'; >> >> And I would do a qr() on top of that. > > How? And why? snip
how: my $pattern = '.*(?:' . join('|', map quotemeta, @ARGV) . ')'; $pattern = qr/$pattern/; why: To compile the regex. In the original program, the regexes use the o modifier to promise that $pattern won't change so the optimizer can compile the regexes once, but if you use qr// then you don't have to make that promise and you still only compile the regex once. -- Chas. Owens wonkden.net The most important skill a programmer can have is the ability to read. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/