in reply to Re: search position is getting reset after 'local'
in thread search position is getting reset after 'local'

I think the main potential problem would be when you're using localized $_ combined with m//g matches.

let's say you convert this (working) code:

$_ = "abcdefg"; my @some_array = (1 ..2); while (m/./g) { for (@some_array) { # implicitly localized - works # do something; } print $&; }
to this (stupid but more or less equivalent) code:
$_ = "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.