将消息重定向到文件

时间:2016-11-28 17:11:10

标签: perl

我正在打开如下文件:

open (my $fh, '<', $query_file) or die "Query for specified metric does not exist : $!";
my $query = <$fh>;
close $fh;

当文件不存在时,它会在控制台上写入错误消息,但我想将此消息保存在文件中。

怎么做?

1 个答案:

答案 0 :(得分:4)

来自perlvar

  

$SIG{__DIE__}指示的例程在致命时被调用   即将抛出异常。错误消息作为传递   第一个论点。

您可以像下面这样使用它:

local $SIG{__DIE__} = sub {
    my ($die_message) = @_;
    open (my $log, ">>", '/tmp/die.log');
    print $log $die_message;
};