Perl 在所需文件中退出的更好方法
我正在编写一个加载程序来解密源文件并运行它们。每个源文件都包含一个基于 Curses::UI
的程序,其中包含用户可以用来退出用户界面的子例程。我需要在用户退出后进行一些清理,但不确定如何捕获这些 exit
或 die
调用,以便在所需文件之后出现清理代码将执行,有什么想法吗?
I am writing a loader program to decrypt source files and run them. Each source file holds a Curses::UI
based program which contain subroutines that the user may use to exit the user interface. I need to run some clean up after the user exits though and am not sure how to catch these exit
or die
calls so the clean-up code that comes after the required files will execute, any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过将代码包装在
eval
块中来捕获die
调用,如下所示:但这对
exit
没有帮助。我相信,您可以在END{}
块中的exit
之后运行清理代码,但请注意,这将在任何退出后运行,而不仅仅是您需要的情况模块退出。在
perldoc perlmod
中了解有关 END 块的更多信息You can catch
die
calls by wrapping the code in aneval
block, as in:This won't help for
exit
though. You could have code that runs to cleanup afterexit
in anEND{}
block, I believe, but note that this will be run after any exit, not just if your required module exits.Read more about END blocks in
perldoc perlmod