有没有办法在Perl中输出未经过管道传输的调试消息?

时间:2009-04-14 06:02:11

标签: perl pipe

有没有办法在Perl中输出未经过管道传输的调试消息?我有一个Perl脚本,我在管道中使用但我真的想将一些诊断信息打印到屏幕而不是管道。

2 个答案:

答案 0 :(得分:12)

你是否管道stdout和stderr?如果没有,请写下你没有管道的那个:)

e.g。

print STDERR "This goes to standard error";
print STDOUT "This goes to standard output";

(如果你没有提供句柄,STDOUT当然是默认的 - 除非你要求Perl使用不同的默认句柄...)

答案 1 :(得分:3)

除非你在命令行上说过2>&1,否则STDERR应该出现在屏幕上。您可以像Jon Skeet suggests一样写入STDERR,也可以使用warn函数。