我想将包含stderr的命令
输出读入HANDLE:
open(HANDLE,"-|",$cmd,@args);
但上面的命令只是读取标准输入?
我怎么能读到stderr?
IPC::Run模块提供的运行
功能类似于增压系统.它允许我们收集STDERR和STDOUT的
输出组合:
run [$cmd,@args],'&>',\my $output;
之后,$output变量将组合输出保存为字符串.
例:
use IPC::Run qw/ run /;
run ['perl','-E say "stdout"; say STDERR "stderr"'],\my $output;
print uc $output;
输出:
STDOUT
STDERR
我不知道如何使用文件句柄代替标量引用,以便可以在while(< $fh>)循环中正常读取输出.