perl – open(HANDLE,“ – |”,$cmd,@ args):如何阅读stderr?
发布时间:2020-12-16 06:13:23 所属栏目:大数据 来源:网络整理
导读:我想将包含stderr的命令输出读入HANDLE: open(HANDLE,"-|",$cmd,@args); 但上面的命令只是读取标准输入? 我怎么能读到stderr? 解决方法 IPC::Run模块提供的运行功能类似于增压系统.它允许我们收集STDERR和STDOUT的输出组合: run [$cmd,@args],'',my $ou
我想将包含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>)循环中正常读取输出. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |