G'day All,

I've just read in "perlre: Other Modifiers":

o - pretend to optimize your code, but actually introduce bugs

It doesn't say anything further about these "bugs". There is a link to "s/PATTERN/REPLACEMENT/msixpodualngcer in perlop" which I thought might have some more information. Alas, no; all it says about /o is:

"If you want the pattern compiled only once the first time the variable is interpolated, use the /o option."

I did have a more extensive look around this area of perlop: no /o bug info found.

So, if anyone can tell me about these bugs, that would be appreciated.

I am aware that when a regex is compiled with /o, it is fixed; that is, the regex /$var/o won't change even if $var does. That's been the case since (at least) Perl3 — I wonder if that's the "bugs" to which the doco refers.

Not really part of the question, more background really, but my "/o bug" query came about as I was doing some benchmarking (born of idle curiosity). Code and results in the spoiler for those interested.

— Ken


In reply to Regex /o modifier: what bugs? by kcott

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.