Beefy Boxes and Bandwidth Generously Provided by pair Networks Frank
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: What magic is this?

by gellyfish (Monsignor)
on Oct 26, 2006 at 12:56 UTC ( #580750=note: print w/ replies, xml ) Need Help??


in reply to What magic is this?

Yes, when you use $SIG{__DIE__} it will get called if the program would die irrespective of whether there is an eval { } around the point that is dying, as you can see from:

$SIG{__DIE__} = sub { print "die handler: " , @_ }; + eval { die "DIE NOW"; }; + print "Still alive";
The program doesn't "die" but the "__DIE__" handler gets called nonetheless. This is the documented behaviour. You'll need to rethink the way you are handling errors.

/J\


Comment on Re: What magic is this?
Select or Download Code
Re^2: What magic is this? ($^S)
by tye (Cardinal) on Oct 26, 2006 at 13:27 UTC

    It isn't perfect, but that is what $^S is for. __DIE__ handlers usually should do nothing if $^S is true.

    - tye        

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://580750]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (7)
As of 2014-04-18 13:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (468 votes), past polls