解决方法
您可以使用open(使用两个命令行参数运行program / bin / some / program):
open my $fh,"-|","/bin/some/program","cmdline_argument_1","cmdline_argument_2"; while (my $line = readline($fh)) { print "Program said: $line"; }
从$fh读取将为您提供正在运行的程序的标准输出.
另一种方式也适用:
open my $fh,"|-","/bin/some/program"; say $fh "Hello!";
这会将您在文件句柄上编写的所有内容传递给生成进程的stdin.
如果要读取和写入相同的进程,请查看IPC::Open3
和IPC::Cmd
模块.