http://www.perlmonks.org?node_id=859457


in reply to Re: blessed confusion
in thread blessed confusion

Slightly more convenient for me is to have the call-back dumped for warnings as well as errors and to make it conditional on the prog's development status. So the following is already in this prog (as it's in my 'new program template'...
my $Devel=1; ... if ($Devel) { use Carp qw(cluck confess); $SIG{__WARN__} = $SIG{__DIE__} = sub { &dumpfromstart; $Carp::CarpLevel=1; confess @_ } }
The 'dumpfromstart' is specific to this program, as it uses Data::Dumper to try to dump out data from the starting object and the current if it is different and non-null.

For me, it's easier if every program starts with initializations like above than having to type invocations on the command line when there are problems.