I'm trying to learn about the /o regex modifier. The documentation I've found all says pretty much the same thing: /o prevents recompilations of the regex pattern. Perldoc and the Camel book also say specifically "...mentioning /o constitutes a promise that you won't change the variables in the pattern. If you change them, Perl won't even notice."
I want to test this behavior, but I can't seem to make /o ignore changes to variables in the regex. I thought this meant that variables would be interpolated and the regex would be compiled only once (the first time it's encountered), and that if a variable within the regex has changed the next time the pattern is evaluated, that change will be ignored. This doesn't seem to be the case.
Here's the code I'm testing with:
while (1) {
print "Enter regex: ";
chomp ($regex = <>);
print "Enter string: ";
chomp ($str = <>);
print "Matches!\n"
if $str =~ /$regex/o;
}
I would expect that in the second iteration (and all future iterations) through the loop, the input into $regex would be effectively ignored, but that doesn't seem to be the case. Have I misinterpreted /o, or is my code bogus? Thanks!
Peter
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.