in reply to Catching DIE no matter what

You may not be familiar with other languages like C++ or Java. However, in the off-chance that you are (or someone else reading this thread): After an eval block, you can inspect $@ to see if the task died. As others have mentioned, $SIG{__DIE__} is only for putting in a hook for the last gasp of the process, when the die had no other eval blocks to catch it. By that point, there's no "saving" the process.

--
[ e d @ h a l l e y . c c ]