in reply to BUG! die() executing outside scope of eval block

This is interesting. What happens if you say $ PERL_SIGNALS=unsafe perl myscript.pl to run this? (or whatever you and your shell like for setting environment variables.) See perldoc perldelta where it talks about the reintroduction of unsafe signal handling. The user docs are in perlrun for the PERL_SIGNALS environment variable, and perlipc for discussion of deferred signals. I am not sure whether a deferred 'safe' signal drags its initial sigaction along with it, or uses the one it finds when it is acknowleged. That could be OS-dependent.

After Compline,
Zaxo