in reply to Re^3: DESTROY on CTRL+C
in thread DESTROY on CTRL+C

END is executed if you have SIG handler, and not executed if you have no.

perlmod:
An END code block is executed as late as possible, that is, after perl has finished running the program and just before the interpreter is being exited, even if it is exiting as a result of a die() function. (But not if it's morphing into another program via exec, or being blown out of the water by a signal--you have to trap that yourself (if you can).)