我正在编写一个加载程序来解密源文件并运行它们。每个源文件都包含一个Curses::UI
基础程序,其中包含用户可以用来退出用户界面的子例程。我需要在用户退出后进行一些清理,但不确定如何捕获这些exit
或die
调用,以便执行所需文件之后的清理代码,有什么想法吗?
问问题
269 次
1 回答
3
die
您可以通过将代码包装在一个eval
块中来捕获调用,如下所示:
eval {
require Module::that_dies;
};
if ($@) {
# handle the exception here
}
不过,这无济于事exit
。我相信,您可以exit
在一个END{}
块中运行代码进行清理,但请注意,这将在任何退出后运行,而不仅仅是在您需要的模块退出时运行。
END {
# code that runs after exit
}
require Module::that_exits;
阅读更多关于 END 块的信息perldoc perlmod
于 2011-10-10T08:47:58.053 回答