可能重复:如何在Perl中同时捕获stderr,stdout和退出代码?在将STDOUT传送到文件时捕获STDERR的输出
我使用以下代码来执行一个过程:
open( my $proch, "-|", $command, @arguments );
不幸的是,我只会阅读标准输出 . 但我也想阅读stderr .
Stderr重定向导致以下错误:
open( my $proch, "2>&1 -|", $command, @arguments );
>>> Unknown open() mode '2>&1 -|' at file.pl line 289
我怎样才能将stderr转发给stdout?
1 回答
2>&1
是shell命令的一部分,但您没有执行shell .如果您想避免产生额外的进程,可以使用以下命令: