脚本 exit/die 上的 Perl 运行 函数

Perl run function on script exit/die

我有一个问题,但找不到我需要的答案。我有一个可处理多个文件的 perl 脚本。在脚本的开头,给定的文件被重命名并备份,在脚本的末尾它被重命名回来,所以原始文件根本没有被触及。 但是,如果脚本在 运行 时死掉了怎么办?如果文件丢失或者用户通过键盘上的“cmd + c”退出脚本?有没有一种方法可以定义一个在脚本死掉或用户希望脚本死掉时总是执行的函数?我从 perl 中找到了“END”块,但它认为这对我的情况不起作用。

谢谢!

-亚历克斯

END 块适用于 exitdie。但是,如果对信号不起作用,则您必须创建一个信号处理程序。将其设置为空子会将控制传递给 END 块:

local $SIG{INT} = sub {};