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