It was the same as using /m on all your match and substitution operators, except it overrode instructions to turn /m off.
For example, qr/foo$/ shouldn't match "foo\nbar\n" even if it's used as /$re/m.
$ perl5010 -le'
$re = qr/foo$/;
print $re;
print "foo\nbar\n" =~ /$re/m ?1:0
'
(?-xism:foo$) # -m: Turn /m off.
0
But it did before 5.10
$ perl5008009 -le'
$re = qr/foo$/;
print $re;
print "foo\nbar\n" =~ /$re/m ?1:0
'
(?-xism:foo$)
1 # Matched as if /m was on for the subpattern.
This was fixed, but there was no way of fixing $* which had the same error.
$ perl5008009 -le'
$re = qr/foo$/;
print $re;
local $* = 1;
print "foo\nbar\n" =~ /$re/ ?1:0
'
(?-xism:foo$)
1
So it was dropped.
|