in reply to
RE: END failed--call queue aborted
in thread END failed--call queue aborted
Not exactly, as an END block gets always executed. Even if your script dies a present END block will be executed.
cite from perlman:perlmod
An END subroutine 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 polymorphing into another program via exec, or being blown out of the water by a signal--you have to trap that yourself (if you can).) You may have multiple END blocks within a file--they will execute in reverse order of definition; that is: last in, first out (LIFO). END blocks are not executed when you run perl with the -c switch, or if compilation fails.
Have a nice day
All decision is left to your taste