in reply to Keeping perl alive after a module calls die.

If you wrap your call in an eval block, you can trap that die signal and read out the error:
eval { dangerous() } if ($@) { print "dangerous died with the error: $@\n"; }

-Mark