你是否管道stdout和stderr?如果没有,请写下你没有管道的那个:)
e.g。
print STDERR "This goes to standard error";
print STDOUT "This goes to standard output";
(如果你没有提供句柄,STDOUT当然是默认的 - 除非你要求Perl使用不同的默认句柄...)
除非你在命令行上说过2>&1
,否则STDERR应该出现在屏幕上。您可以像Jon Skeet suggests一样写入STDERR,也可以使用warn
函数。