我有以下错误消息(使用Perl 5): Tools.pm: Filehandle STDOUT reopened as FH only for input at /usr/local/lib/perl5/site_perl/mach/5.20/Template/Provider.pm line 967.我理解它的原因:它是因为STDOUT被关闭了,后来同样的FD被用于与STDOUT
我想写一个Perl脚本,它运行程序foo和bar,处理foo的stdout,并以流的方式将其发送到stdin of bar。Perl脚本的行为应该类似于以下bash命令:我设法用下面的代码片段完成了第一部分。我启动程序foo并打开管道读取stdout。open( my $pipe_fh, "foo |" );
while ( my $row = <$pipe_fh&g
我需要从一个Perl脚本调用一个外部日志进程,该脚本接收传递给它的数据并将其写入网络服务。这很容易做到。但是,我还有一个额外的要求,即从父进程到STDERR的任何写入都要重定向到外部进程。我尝试的是打开文件句柄到外部进程的写管道,然后将STDERR重定向到文件句柄。这是我的测试脚本,不幸的是它还不能工作。use warnings;
open my $fh<