В середине Perl-скрипта есть системная команда, которую я хочу выполнить. У меня есть строка, содержащая данные, которые необходимо ввести в стандартный ввод (команда принимает только ввод из стандартного ввода), и мне нужно захватить вывод, записанный в стандартный вывод. Я рассмотрел различные методы выполнения системных команд в Perl, и мне кажется, что функция open
- это то, что мне нужно, за исключением того, что, похоже, я могу захватывать только stdin или stdout, а не оба сразу.
На данный момент кажется, что мое лучшее решение - использовать open
, перенаправить stdout во временный файл и прочитать его после завершения команды. Есть ли лучшее решение?