Perl 来自qx子进程的流式标准输出

Perl 来自qx子进程的流式标准输出,perl,Perl,我有大量需要执行的脚本。我喜欢在调试过程中观察上述脚本的输出 通常,printqx/foo/收集foo的标准输出,直到foo完成,然后打印它 我想把它流出来,这样我就可以观察foo的输出,并以某种标量捕获foo的输出 理想情况下: $cmd = "foo"; $result = stream_and_store($cmd); 我相当肯定有一些复杂的方法,包括一些漂亮的CPAN模块 我希望能够在基本Perl5.8.8(是的,仿古版,但这就是环境)中完成这项工作,而无需添加其他依赖项 小心你的愿望

我有大量需要执行的脚本。我喜欢在调试过程中观察上述脚本的输出

通常,
printqx/foo/
收集foo的标准输出,直到foo完成,然后打印它

我想把它流出来,这样我就可以观察foo的输出,并以某种标量捕获foo的输出

理想情况下:

$cmd = "foo";
$result = stream_and_store($cmd);
我相当肯定有一些复杂的方法,包括一些漂亮的CPAN模块


我希望能够在基本Perl5.8.8(是的,仿古版,但这就是环境)中完成这项工作,而无需添加其他依赖项

小心你的愿望:

$output = `somecmd | tee /dev/tty`;
my$result='';
打开我的$proc,'-|',“foo”;
而(){
打印美元;
$result.=$\uux;
}

这种形式的命令在后台启动进程,并使其输出在文件句柄中可用。
$proc

我不完全理解您的警告。:-)
my $result = '';
open my $proc, '-|', "foo";
while (<$proc>) {
    print $_;
    $result .= $_;
}