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
In Section
Seekers of Perl Wisdom