let's say you convert this (working) code:
to this (stupid but more or less equivalent) code:$_ = "abcdefg"; my @some_array = (1 ..2); while (m/./g) { for (@some_array) { # implicitly localized - works # do something; } print $&; }
$_ = "abcdefg"; while (m/./g) { my @some_array = (1 ..2); while (local $_ = shift @some_array) { # manually localized - break +s # do something; } print $&; }
Some of the parsing code i've written makes heavy use of $_ and then you can run into this problem when you're refactoring.
update: the above code breaks, because it's not the pos() function that's broken, but the match position field itself gets reset by localizing a variable - in other words, the while (m/./g) statement will loop forever.
In reply to Re^2: search position is getting reset after 'local'
by Joost
in thread search position is getting reset after 'local'
by jesuashok
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |