Subject: Re: bug in Cygwin perl 5.6.1?
From: "Gerrit P. Haase" <[email-masked]>
To: "Rhet Turnbull" <[email-masked]>, <[email-masked]>
Date: Sun, 3 Feb 2002 22:03:36 +0100

Am 2 Feb 2002 um 17:58 hat Rhet Turnbull geschrieben:

>Gerrit P. Haase wrote:
>> Why?  Where is docu about this?
>
>The perl documentation for $^S in the perlvar manpage states:
>
>$^S     Current state of the interpreter.  Undefined if
>        parsing of the current module/eval is not finished
>        (may happen in $SIG{__DIE__} and $SIG{__WARN__}
>        handlers).  True if inside an eval(), otherwise
>        false.
>
>The "True if inside an eval(), otherwise false" is what I was getting at.  I

Previous mail:

>>>There seems to be a bug in Cygwin's perl (5.6.1). The
>>>following code:
>>>
>>>perl -e 'print $^S || 0;eval {print $^S || 0}; print
>>>$^S || 0;'
>>>
>>>should produce '010'

>ran into this since I was writing a custom SIG{__DIE__} handler (which needs
>to know if you're inside an eval where die is an exception catching
>mechanism or in normal code where die means to exit with error.)  The bug is
>that after executing an eval(), $^S stays true even though it should be
>false outside the scope of the eval.

Hmmm, I'm still confused a little.  Isn't '010' as TRUE as '011'?

>I reported this to perlbug and they've acknowledged that it's a known bug
>that will be fixed in next release.

Thanks,

Gerrit-- 
=^..^=

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/