如何在Perl中将stacktrace(Carp输出)转储到文件中?

如何在Perl中将stacktrace(Carp输出)转储到文件中?,perl,Perl,我想将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); 该示例将在日志中打印“

我想将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的返回值。

无需将其分成两个打印:
print$fh“stack trace:\n”,carp::longmesss()
print $fh "stack trace";
print $fh Carp::longmess();