However the compiler cannot stitch together subpatterns in compiled form, so whenever you build up a pattern from two previously qr'd patterns, or a qr'd pattern and some new text, perl constructs the stringified form of the new pattern and then compiles this new string from scratch.
Interesting! I wonder if there is a need for a low-level regex-manipulating package that would allow us to do manipulations like this on the actual regex objects. (Or if such an interface already exists!)
One comment / question on your preferred solution:
my $days_re = join '|', map "\Q$_\E", @days;
I've seen this used a few times now, and I wonder if there is a meme out there people are copying from. Is there any reason to prefer this over:
my $days_re = join '|', map quotemeta, @days;
In reply to Re^6: qr// with /e?
by tkil
in thread qr// with /e?
by tkil
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |