in reply to Re: $SIG{__DIE__} not working as expected
in thread $SIG{__DIE__} not working as expected

Or just override die:
{ local *CORE::GLOBAL::die = sub { print "Really die? "; if (($resp = <STDIN>) =~ /^y/i) { CORE::die @_; } else { print "narrowly averted: @_\n"; } }; # do the thing that dies }