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:
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.$SIG{__DIE__} = sub { print "die handler: " , @_ }; + eval { die "DIE NOW"; }; + print "Still alive";
/J\
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: What magic is this? ($^S)
by tye (Sage) on Oct 26, 2006 at 13:27 UTC |
In Section
Seekers of Perl Wisdom