Re: [PATCH] git-svn: Don't rely on $_ after making a function call
- From
Junio C Hamano <junkio@cox.net>
- Date
- Apr 25, 2007, 21:13 UTC
- Message-ID
- <7v4pn4w41k.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <20070425205948.GA12375@untitled>
Eric Wong <normalperson@yhbt.net> writes:
Show 7 quoted lines
> Adam Roben <aroben@apple.com> wrote: >> 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.