как захватить многострочный вывод из вызова perl `command`? - PullRequest
2 голосов
/ 13 января 2011

У меня есть Perl-скрипт, которому я могу передать аргументы из командной строки, и он выведет результаты.Я попытался захватить эти результаты:

$systemReturn = `$cmd`;

только с ответом пустой строки.Я знаю, что этот файл выводит многострочную строку.Очевидно, существует другой метод, необходимый для его захвата.Кто-нибудь знает, как мне это сделать?

Ответы [ 3 ]

5 голосов
/ 13 января 2011

Команда, вероятно, выводит в stderr, а не в stdoutПопробуйте

$systemReturn = `$cmd 2>&1`;
2 голосов
/ 13 января 2011

Я бы рекомендовал проверить Capture :: Tiny или IO :: CaptureOutput.Это делает его более легким и переносимым для захвата выходных данных, разделения или объединения STDOUT и STDERR, проверки на успешность и даже ти.

0 голосов
/ 13 января 2011

Используйте это

@systemReturn = `$cmd`;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...