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

Re: $^E bug and perl 5.8.0

Thread Previous | Thread Next
From:
Dan Sugalski
Date:
November 19, 2003 07:54
Subject:
Re: $^E bug and perl 5.8.0
Message ID:
Pine.LNX.4.58.0311191056040.7503@sprite.sidhe.org
On Wed, 19 Nov 2003, Chris Nandor wrote:

> $ perl -le '$^E = -1728; print $^E+0 for 0,1; print $!+0 for 0,1'
> -1728
> 22
> 22
> 22

Given that on Unix systems $^E and $! are identical, and that $! is
directly tied to errno, this certainly isn't surprising. Anything that
afects errno (like, say, IO) may then affect $! and $^E identically.(And
$!/$^E non-indentically on systems where they're separate)

Basically you're using a variable that can be affected by external things
in a way that pretty much guarantees that external things will be
happening. That it changes isn't much of a surprise. ($!/$^E may get
modified by some signal handlers too, depending on what you do, so there's
not even any guarantee that "$^E = 42; $^E++;" will end up with $^E set to
43.

					Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
dan@sidhe.org                         have teddy bears and even
                                      teddy bears get drunk


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