perl -we "sub fail{die 'test'}; END{ print qq'\nF\n'; fail() };
$SIG{__DIE__} = sub{print qq!\nS\n!; fail()}; fail()"
S
test at -e line 1.
F
S
S
test at -e line 1.
####
#!perl -w
use strict;
my $counter = 0;
sub fail{ ++$counter; print "$counter: Fail called.\n"; die "DEATH ". __LINE__ ."\n" }
END{ ++$counter; print "$counter: End called.\n"; fail() }
$SIG{__DIE__} = sub{ ++$counter; print "$counter: SigDie called.\n"; fail() };
fail()
##
##
1: Fail called.
2: SigDie called.
3: Fail called.
DEATH 4
4: End called.
5: Fail called.
6: SigDie called.
7: Fail called.
8: SigDie called.
9: Fail called.
DEATH 4