in reply to Run 2 Subroutines after a die

Hi AcidHawk,

your output includes 1 at C:\Dev\MiscTests\sub.pl line 8 because that's what die does:

die LIST;

prints LIST and appends the location in the program if LIST does not end in a newline. In your case, LIST is the do block, which returns 1, hence 1 at ....

Another way to call a number of functions or generally do stuff when dying, is to put said stuff in an END block:

open HELLO ">hello.txt" or die "Blerch: $!\n"; END { print "Endings are a sad business.\n"; }

Caveat: This may not be what you're looking for, as END blocks get executed whenever the program terminates, normally or abnormally. So they get executed even if your program completes normally and does not die anywhere.

CU
Robartes-

Update: Added example code and caveat.