On Wed, Dec 19, 2007 at 5:26 PM, Rafael Garcia-Suarez <rgarciasuarez@gmail.com> wrote: > On 19/12/2007, Andy Lester <andy@petdance.com> wrote: >> Can someone explain why this is so? >> >> $ cat test.pl >> my $buffer = qq{blah\nfoo\nblah}; >> my $regex = qr/^foo/; >> print "Running $], ", $buffer =~ /$regex/m ? 'found' : 'not found', >> "\n"; >> >> $ perl test.pl >> Running 5.008008, found >> >> $ perl510 test.pl >> Running 5.010000, not found >> >> ack fails its tests because of this behavior, which is what led me >> down this path. > > The effect of /m is no longer global, but it now only affects the > regexp it was applied to. No more unwanted side effects! See bug > http://rt.perl.org/rt3/Ticket/Display.html?id=22354 > Incidentally, that was to fix this bug that $* was removed. On a related note, perlop claims "If a precompiled pattern is embedded in a larger pattern then the effect of 'msixp' will be propagated appropriately." It needs to be fixed. Eric BrineThread Previous | Thread Next