in reply to Re^6: On the regex pattern variable to be inserted into another (which recompile???)
in thread On the regex pattern variable to be inserted into another
AFAIR Perl caches the previous stringification of the regexp, and compares that against the stringification of the new pattern to determine whether it needs recompiling. The stringification of a compiled pattern always captures those outside flags that affect compile-time so as to make this (and interpolation) safe, that's why you see for example:
% perl -E 'say qr{foo}i' (?^ui:foo) %
The /g flag is not listed in the docs because it is not supported by qr{}:
% perl -E 'say qr{foo}g' Unknown regexp modifier "/g" at -e line 1, near "say " Execution of -e aborted due to compilation errors. %
(I think that error message could probably be improved. Patches welcome. :)
|
|---|