我知道他们都做什么,但从来没有发现自己处于我需要任何一个的情况.我已经在很多场合使用了BEGIN块,暂时使用了END.当您需要在
代码运行之前调整环境时,BEGIN非常有用,而且在某些调试情况下,我已经使用END来捕获重要的状态信息,以
解决难以追踪的致命
错误.
你有没有使用检查,检查或INIT?如果是这样,为什么?一个BEGIN块是否因为某些原因不足够?
块的文档是PerlDoc.
我有一个包导入
功能,它会做一些重型处理,然后进行一个eval
调用.你如何调试这样的东西?导入
功能在使用模块时运行,该模块在编译时进行(如在BEGIN块中).由于某些原因(我认为这是因为我需要传递参数以引入heredoc符号,但它本来可以是别的),说不需要模块是不够好的;模块 – >进口(@args).
所以我的解决方法是在导入中构建eval的字符串,并保存另一个变量.然后我在一个INIT块中运行eval.当您运行调试器时,第一个执行点在INIT块的开头,我可以使用调试器来遍历eval语句.
原文链接:https://www.f2er.com/Perl/172703.html