Subject: Re: [PATCH RFC 3/6] send-email: Handle "GIT:" rather than "GIT: " during --compose

From: Junio C Hamano <[email-masked]>
Date: Sat, 11 Apr 2009 17:59:20 -0700

Michael Witten <[email-masked]> writes:

>> Because "while (<>)" does not localize $_, you are clobbering it in the
>> caller's context.  I do not know if any of the the existing callers cares,
>> but it is a change in behaviour.
>
> How about:
>
>     while (local $_ = <$fh>)
>
> Or, in our case, this:
>
>     while (my $_ = <$fh>)

Special variables like $_ cannot be made into lexicals, unless you know
you will only run with a very recent version of Perl (5.9.1, I think).

If you do not want to worry about portability, typically it is easiest to
say "local ($_)" upfront in the beginning of a sub.

I do not understand why you want to change the original

	while (my $line = <$fh>) {
        	...
	}

though.