#!perl -w use strict; $SIG{__DIE__} = sub { print "SIG DIE called!\n", caller, $/ }; eval qq{die 'inside eval!'}; print uc($@); __END__ The above code, when run, outputs: SIG DIE called! main(eval 1)1 INSIDE EVAL! AT (EVAL 1) LINE 1.