Perl中的CHECK,UNITCHECK和INIT区块的用处是什么?

前端之家收集整理的这篇文章主要介绍了Perl中的CHECK,UNITCHECK和INIT区块的用处是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道他们都做什么,但从来没有发现自己处于我需要任何一个的情况.我已经在很多场合使用了BEGIN块,暂时使用了END.当您需要在代码运行之前调整环境时,BEGIN非常有用,而且在某些调试情况下,我已经使用END来捕获重要的状态信息,以解决难以追踪的致命错误.

你有没有使用检查,检查或INIT?如果是这样,为什么?一个BEGIN块是否因为某些原因不足够?

块的文档是PerlDoc.

解决方法

我有一个包导入功能,它会做一些重型处理,然后进行一个eval调用.你如何调试这样的东西?导入功能在使用模块时运行,该模块在编译时进行(如在BEGIN块中).由于某些原因(我认为这是因为我需要传递参数以引入heredoc符号,但它本来可以是别的),说不需要模块是不够好的;模块 – >进口(@args).

所以我的解决方法是在导入中构建eval的字符串,并保存另一个变量.然后我在一个INIT块中运行eval.当您运行调试器时,第一个执行点在INIT块的开头,我可以使用调试器来遍历eval语句.

原文链接:https://www.f2er.com/Perl/172703.html

猜你在找的Perl相关文章