#!/usr/bin/perl -w use strict; BEGIN { open( ERRORLOG, ">> /tmp/test_error.log" ) || die $!; } END { close( ERRORLOG ); } { $SIG{__WARN__} = sub { print ERRORLOG 'warn - ' . $_[0] }; $SIG{__DIE__} = sub { print ERRORLOG 'die - ' . $_[0] }; warn "Hey I told you so with that warning"; eval { die "Blah! It's a die command! that goes here" }; print "dingle dongle goes here\n" } #### dingle dongle goes here #### warn - Hey I told you so with that warning at test_sigdie.pl line 15. die - Blah! It's a die command! that goes here at test_sigdie.pl line 16.