in reply to try catch getting ignored by SIG DIE subroutine

See the bottom of die where the (bad) interaction of die with signal handlers is discussed and $^S is mentioned as the place to check whether you're within an eval block or not.