Perl 在脚本退出/死亡时运行函数

Dar*_*ius 1 perl function exit die

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

谢谢你!

-亚历克斯

cho*_*oba 6

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

local $SIG{INT} = sub {};
Run Code Online (Sandbox Code Playgroud)