develooper Front page | perl.perl5.porters | Postings from November 1999

Re: [ID 19991114.001] dangerous behavior from local

Thread Previous | Thread Next
From:
Andrew Pimlott
Date:
November 15, 1999 19:14
Subject:
Re: [ID 19991114.001] dangerous behavior from local
Message ID:
19991115222246.Z10858@finnish.idiomtech.com
On Mon, Nov 15, 1999 at 07:01:44PM -0800, Tom Phoenix wrote:
> On Sun, 14 Nov 1999, Andrew Pimlott wrote:
> > A coworker accidentally did:
> > 
> > {
> >     local($/ = undef);
> >     ...
> > }
> > 
> > This did not localize $/ .  I don't know what it did do.
> 
> It looks to me as if it did localize $/ -- but only _after_ storing undef
> into it. Oops!

That made so much sense when someone else pointed it out, I felt like an
idiot.  Tragically, it is not so.  Try this:

#!/usr/bin/perl -w

{
    local($/ = undef);
    $/ = "0";
}
print scalar <>;
__END__

You will find that the input separator is "0".  $/ is never localized.
Beats me what is.

Andrew

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About