大佬教程收集整理的这篇文章主要介绍了perl – Carp/Croak,Cluck/Confess和verbose选项有什么区别?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
此外,什么是cluck / confess / verbose甚至做什么?我运行这个短脚本来获得输出看起来像(因为Carp文档不这样做)。它看起来完全相同的任何运行(除了随机字符串)。
#!/usr/bin/perl package Warning; sub warning { warn "warn"; } package CWarn; use Carp qw(carp cluck); sub cwarn { int(rand(2)) ? carp "carp" : cluck "cluck"; } package Fatal; use Carp qw(confess croak); sub fatal { int(rand(2)) ? confess "confess" : croak "croak"; } package Loop; use v5.10; sub loop { say '=' x 80; Warning::warning(); CWarn::cwarn(); loop() unless ($c++ > 10); Fatal::fatal(); } package main; Warning::warning(); CWarn::cwarn(); Loop::loop();
更新:更新了包名称的脚本,它的确有所作为。然而,Carp仍然在记录信息方面看起来非常基本,并且它不支持Web输出。我想我会看看其他的像CGI :: Carp,Log :: Output和Log :: Log4Perl。
鲤鱼旨在用于模块。原因是当模块遇到问题时,通常是因为模块的调用者传递了错误的数据。因此,不是报告模块发现问题的行,通常更有用的是报告调用模块的行(来自模块外部的代码)。这就是Carp导出的函数。
有2套yes / no选项。该功能可以是致命的(如die
)或非致命的(如warn
)。它可以只报告调用函数的行,或者它可以报告完整的BACktrace。
Fatal BACktrace carp N N cluck N Y croak Y N confess Y Y
verbose选项强制回溯。也就是说,它使鲤鱼表现得像线索,克罗克表现得像承认。你可以使用它,当你意识到你需要更多的调试信息,但不想更改代码使用承认。
以上是大佬教程为你收集整理的perl – Carp/Croak,Cluck/Confess和verbose选项有什么区别?全部内容,希望文章能够帮你解决perl – Carp/Croak,Cluck/Confess和verbose选项有什么区别?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。