Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Passing regex to a subroutine

by kcott (Canon)
on Oct 13, 2012 at 10:43 UTC ( #998838=note: print w/replies, xml ) Need Help??


in reply to Passing regex to a subroutine

G'day ll001,

I see that ++aitap has identified your problem.

Seeing your usage of $regexStr, I was wondering if you were aware that qr{...} does not return a string per se. It actually returns a Regexp object. When stringified, this is overloaded to produce something you may not have expected.

$ perl -e 'my $regexStr = qr{[0-9]+}; print "$regexStr\n"; print ref($regexStr), "\n"; ' (?^:[0-9]+) Regexp

See perlop - Regexp Quote-Like Operators for details.

-- Ken