2

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

4

2 回答 2

12

您是否同时管道标准输出和标准错误?如果没有,请写信给您没有管道的人:)

例如

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

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

于 2009-04-14T06:05:37.287 回答
3

除非您在命令行上说过类似2>&1的话,否则 STDERR 应该会出现在屏幕上。您可以像 Jon Skeet建议的那样写信给 STDERR ,也可以使用该warn功能。

于 2009-04-14T08:19:45.483 回答