in reply to How can I kill subprocesses when the main script dies?

An END block won't be executed unless a signal handler has been established, even if the signal handler simply dies.

The briefest way to do that is something like:

$SIG{INT} = sub { die };