in reply to Re: Self resurrecting perl scripts
in thread Self resurrecting perl scripts

Try to put yout Net::FTP part into an eval block:
eval { CODE WHAT TO DO || die; }; print $@;
Thanks, that's exactly what I needed! The Net::FTP code was actually dieing (I didn't call die) so I needed to trap the die and verify that it died because it was timing out. Putting the call to "Net::FTP->get()" in an eval block let me trap that. I didn't know I could do that with eval. Now I just need to look at $@ to see if the Net::FTP Timeout is there. Thanks again!

As for your question about SIG(__DIE__), KM's response basically sums it up. The END block gets executed last and no matter what caused the script to end. However, when the script dies, I want to know so I can do some extra clean up (log the errors, close files, etc) that doesn't need to happen when the script executes normally.

Update:

Added a ; after eval block. :-)