如何抑制Perl的PDF::Reuse发出的警告?

如何抑制Perl的PDF::Reuse发出的警告?,perl,pdf,Perl,Pdf,是否有方法在中抑制警告和错误消息? 我不需要警告…如果脚本的这一部分对于任何特定的pdf都失败,那么就可以了。 我尝试了以下方法,但似乎不起作用: eval { local $SIG{ALRM} = sub {die "alarm\n"}; alarm 10; { local $SIG{__WARN__}=sub{}; use PDF::Reuse; prFile( $copyPdf ); prDoc(

是否有方法在中抑制警告和错误消息? 我不需要警告…如果脚本的这一部分对于任何特定的pdf都失败,那么就可以了。 我尝试了以下方法,但似乎不起作用:

eval {
local $SIG{ALRM} = sub {die "alarm\n"};
alarm 10;

    { 
    local $SIG{__WARN__}=sub{}; 
    use PDF::Reuse;                      
    prFile( $copyPdf ); 
    prDoc(  $file ) ; 
    prEnd() or next;
    }

alarm 0;
}; 

if ($@) {
die unless $@ eq "alarm\n";
print "timed out\n";
}

你看到了什么警告

我尝试了上面的脚本和一个PDF文件,但没有得到任何错误或警告。perl 5.8.8,PDF::重用0.35


问题是您的一个PDF格式不正确吗?

您的if子句毫无意义-$@永远不能同时为真和假。@Ether:在Perl中,永远不能说从不。除了ACME类型的操作之外,我还看到了一些非常不可想象的令人讨厌的事情,异常处理程序从您下面重写了$@。但我也毫不怀疑您对这个案例的看法是完全正确的。@tchrist:是的,现在我们通常使用Try::Tiny来避免担心$@已定义但不正确,$@刚刚更改,哦,不!问题: