我没有太多使用鲤鱼,因为我通常自己滚动。但是,本着与核心模块保持一致的精神,我现在正在使用它。然而,它似乎比警告/死亡好不了多少。
此外,咯咯/坦白/冗长甚至可以做什么?我已经运行了这个简短的脚本来了解输出的样子(因为 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。