如何将Perl系统()的输出重定向到文件句柄?

前端之家收集整理的这篇文章主要介绍了如何将Perl系统()的输出重定向到文件句柄?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用Perl中的 open命令,您可以使用文件句柄.但是我在使用Perl中的open命令返回退出代码时遇到了麻烦.

使用Perl中的system命令,我可以找回正在运行的程序的退出代码.但是我想将STDOUT重定向到一些文件句柄(没有stderr).

我的stdout将是一个逐行输出的键值对,我想在perl中插入一个mao.这就是为什么我想在perl中仅从我的Java程序重定向我的stdout.那可能吗?

注意:如果我收到错误,错误会打印到stderr.一种可能性是检查是否有任何内容打印到stderr,以便我可以完全使用Perl脚本.

解决方法

通常情况下,如果你试图获得分叉进程的文本输出,我的理解就是反引号的用途.如果你还需要退出状态,你可以用$来检查它吗?之后的特殊变量,例如:

open my $fh,'>',"output.txt" or die $!;
print {$fh} `echo "Hello!"`;
print "Return code: $?\n";

从反引号中的命令输出到STDERR将不会被捕获,而是直接写入它调用的Perl程序中的STDERR.

猜你在找的Perl相关文章