##
use Carp;
$SIG{__DIE__} = \&Carp::confess;
my $res = foo();
print "ok\n";
sub foo {
local $SIG{__DIE__};
die "BANG!";
}
__END__
BANG! at - line 8.
####
use Carp;
$SIG{__DIE__} = \&Carp::confess;
my $res = eval { foo() };
die $@ if $@;
print "ok\n";
sub foo {
local $SIG{__DIE__};
die "BANG!";
}
__END__
BANG! at - line 9.
at - line 4