in reply to How do I dump data to file on hard exit?

Just wondering: Why do you currently open/print/close the file for each iteration, instead of leaving it open?

You could put the close in an END block, and then use sigtrap to make sure your END block gets run:

use sigtrap qw(die normal-signals error-signals);

Larry