in reply to Chaining Signal Handlers

Why not just do

@SIG{qw( INT TERM )} = sub { exit(2); }

That will call your END blocks.