in reply to backup script runs out of memory

It looks like Archive::Tar::Streamed should solve your memory issue. I haven't used it, so YMMV.

As for the $SIG{__DIE__} handler I'm not sure perl will be able to call that handler if the error encountered is 'Out of Memory'. Likely it just 'splodes, but that's pure speculation.