Eric Wilhelm wrote: > # from Michael G Schwern > # on Monday 26 February 2007 01:50 pm: > >> And then someone defined a $SIG{__DIE__} so now its C<<{ local >> $SIG{__DIE__}; eval { $obj->isa($class) } }>> > > No. If that $SIG{__DIE__} doesn't check $^S, then it's just > delete($SIG{__DIE__}) and you're back to eval {$obj->isa($class)} and > balance is restored.
You don't want to delete someone else's $SIG{__DIE__}. And how can you know if it checks $^S (most don't)? Or was that a round-about way to say "you should always check $^S in your $SIG{__DIE__}" which would be great but nobody does which brings me right back to "it shouldn't be so hard to do it right!"