Eric Wong [off-list ref] writes:
Adam Roben [off-list ref] wrote:
quoted
Many functions and operators in perl set $_, so its value cannot be relied upon
after calling arbitrary functions. The solution is simply to copy the value of
$_ into a local variable that will not get overwritten.
Does this fix any particular bug? It looks right to me
and makes the code easier to follow, so;
I suspect Merlyn has better explanation, but...
for (list) {
...
}
loop implicitly localizes $_ and does not share this problem,
which I really appreciate whenever I am writing Perl code, but
often enough I was bitten by scripts that use "while (<$fh>)",
which does not localizes $_, and made hard to spot bugs by
clobbering $_.
I find the patch a good safety measure for any future breakages.