如何将堆栈跟踪(Carp 输出)转储到 Perl 中的文件?
Posted
技术标签:
【中文标题】如何将堆栈跟踪(Carp 输出)转储到 Perl 中的文件?【英文标题】:How do I dump a stacktrace (Carp output) to a file in Perl? 【发布时间】:2011-02-28 20:40:44 【问题描述】:我想将 Carp 的输出转储到 perl 中的文件句柄,而不是 stderr。
文件句柄已经打开。
最简单的方法是什么?
示例:
use strict;
use warnings;
use FileHandle;
use Carp;
my $fh = new FileHandle("log", "w") || croak "could not write 'log'";
# stuff happens
print $fh carp("stack trace");
close($fh);
示例将在日志中打印“1”,因为那是 carp 的返回值。
【问题讨论】:
【参考方案1】:print $fh "stack trace";
print $fh Carp::longmess();
【讨论】:
无需将其分成两个打印件:print $fh "stack trace:\n", Carp::longmess();
以上是关于如何将堆栈跟踪(Carp 输出)转储到 Perl 中的文件?的主要内容,如果未能解决你的问题,请参考以下文章