In my opinion, I think this is mostly a non-issue where premature optimization is actually costing you.
If you have a group of regex's that you're putting together, it is better to use qr{} instead of using q{} or qq{}. This is because you want to validate each subexpression before it's put into your final regex. Getting an error message early on is worth the cost of having to compile the subexpressions once each.
# Validate these subexpressions before putting in main regex. my $pre_re = qr{blah}; my $body_re = qr{foobar}; my $post_re = qr{bizbaz}; while ($data =~ /$pre_re($body_re)$post_re/) {
The one time when it is helpful to know that you don't need to use qr, is when you're programatically building the regex, like when you're doing a list.
my @array = qw(foo bar biz); # Want to match any in the list; my $list = join '|', map {quotemeta} @array; while ($data =~ /($list)/) {
In reply to Re: differences between parsing qr, qq, and q string contents
by wind
in thread differences between parsing qr, qq, and q string contents
by John M. Dlugosz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |