in reply to to get the un-forseen errors

In my home-grown logger class I use the following hooks:

$SIG{__WARN__} = \&log_error; $SIG{__DIE__} = sub { log_fatal_error( @_ ); exit 1 };

... which makes my log routines get called whenever a warning is issued or the die command is used. This does not work universally, because $SIG{__DIE__} will also get triggered in the following situation:

$SIG{__DIE__} = sub { print "good-by\n" }; eval { die "adios"; }

Which usually is not what you want. But in my case it works out fine because I don't have stacks of eval{} layers and any exception is fatal in my situation.