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

时间:2015-03-09 09:17:56

标签: perl function exit die

我有一个问题,找不到我需要的答案。我有一个perl脚本,可以处理多个文件。在脚本开始时,重命名并备份给定文件,在脚本结束时将其重命名,因此根本不会触及原始文件。 但是,如果脚本在运行时死亡,例如如果文件丢失或者用户是否通过键盘上的“cmd + c”退出脚本?是否有一种方法来定义一个在脚本死亡或用户希望脚本死亡时始终执行的函数?我从perl找到了“END”-block,但它认为这不适用于我的情况。

谢谢!

-Alex

1 个答案:

答案 0 :(得分:4)

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

local $SIG{INT} = sub {};