Есть ли способ вывести отладочные сообщения в Perl, которые не передаются по конвейеру? - PullRequest
2 голосов
/ 14 апреля 2009

Есть ли способ вывести отладочные сообщения в Perl, которые не передаются по конвейеру? У меня есть сценарий Perl, который я использую в конвейере, но я действительно хочу напечатать некоторую диагностическую информацию на экран, а не в конвейер.

Ответы [ 2 ]

12 голосов
/ 14 апреля 2009

Вы пускаете в ход как stdout, так и stderr? Если нет, напишите тому, кто вам не нужен :)

, например

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

(Если вы не предоставляете дескриптор, STDOUT, конечно, используется по умолчанию - если вы не попросили Perl использовать другой дескриптор по умолчанию ...)

3 голосов
/ 14 апреля 2009

Если вы не сказали что-то вроде 2>&1 в командной строке, STDERR должен появиться на экране. Вы можете написать в STDERR, как Джон Скит предлагает или использовать функцию warn.

...