develooper Front page | perl.perl5.porters | Postings from June 2008

Re: Changes in m//m in 5.10

Thread Previous | Thread Next
From:
Eric Brine
Date:
June 19, 2008 09:30
Subject:
Re: Changes in m//m in 5.10
Message ID:
f86994700806180729t5b51824dva97546a623ecbfda@mail.gmail.com
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 Brine

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About