【发布时间】:2018-03-20 11:18:02
【问题描述】:
我知道如何覆盖 perl 中的内置函数,并且我已经覆盖了 die warn say 并且由于 print 和 printf 不能被覆盖,我已经将它绑定到一个句柄我的日志框架。
覆盖warn的示例:
BEGIN{ *CORE::GLOBAL::warn = sub {
my ($package, $filename, $line, $subroutine) = caller;
untie *STDERR;
my $message;
foreach my $arg (@_) {
$message = $message.$arg;
}
print STDERR $message;
tie *STDERR, __PACKAGE__, (*STDERR);
logmessage("warn",$message,$filename, $line);
return;
}
}
现在有没有办法我可以从Perl 中的carp 模块覆盖croak cluck confess carp?
【问题讨论】:
标签: perl die overriding carp