local $SIG{__DIE__} = sub {
open my $fh, '>>', 'log.err'
or warn "Can't append to 'log.err': $!" and return;
print $fh @_, "\n\$\@: |$@|";
};
eval { die "fubar!"; }; # <--- update, semicolon was missing
1 / 0;
__END__
Illegal division by zero at foo.pl line 8.
####
@_: |fubar! at foo.pl line 7.
|
$@: ||
@_: |Illegal division by zero at foo.pl line 8.
|
$@: |fubar! at foo.pl line 7.
|
####
return if $^S; # we are within an eval block