Pathologically Eclectic Rubbish Lister | |
PerlMonks |
Re: Regexp optimization - /o option better than precompiled regexp?by ikegami (Patriarch) |
on Jun 27, 2010 at 20:32 UTC ( [id://846804]=note: print w/replies, xml ) | Need Help?? |
Patterns without interpolation are compiled when their quoting operator (m//, s///, qr//) is compiled. /o shouldn't matter one bit for those, so I won't discuss them. Patterns with interpolation are compiled when their quoting operator (m//, s///, qr//) is executed. Perl caches compiled regex patterns to avoid needless recompilation in situations like the following:
A match or substitution operator can only resuse the last regex is compiled, so the following isn't efficient:
You can use qr// to precompile a pattern.
Note that Perl currently flattens and recompiles compiled patterns interpolated into another pattern.
This should be optimised in the future.
In Section
Seekers of Perl Wisdom
|
|