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/