This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: bug in cygwin perl 5.6.1?


On Sun, Feb 03, 2002 at 10:03:36PM +0100, Gerrit P. Haase wrote:
>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'?

There are three numbers here '0', '1', '1'.  The third number should be '0'.

Maybe this would help:

perl -e 'print $^S || 0, "\n";eval {print $^S || 0, "\n"}; print $^S || 0, "\n";'

This should print:

0
1
0

Instead, it prints:

0
1
1

This indicates, to me, that perl is not resetting the "I'm in an eval", probably
when all of the statements are on the same line, or something.

cgf

--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]