相关疑难解决方法(0)

Perl关闭管道没有错误

我正在使用Perl执行外部程序,并且如果在运行时返回特定字符串,则希望结束其执行。下面的代码根据需要中断执行,但是在执行最后一行(关闭)时会返回错误消息。

open (my $out, "-|", "usfos $memory<input-$cpu.scr");
while (<$out>) {
    if ($_ =~ /MIN   STEP  LENGTH/) {
        last;
    }
}
close $out;
Run Code Online (Sandbox Code Playgroud)

这是所显示的错误的一部分(外部程序还会返回错误消息):

...forrtl: The pipe is being closed.
forrtl: severe (38): error during write, unit 6, file CONOUT$
Run Code Online (Sandbox Code Playgroud)

所以我认为这是因为Perl试图写一个封闭的句柄。如何避免打印任何内容?

perl pipe

2
推荐指数
1
解决办法
858
查看次数

标签 统计

perl ×1

pipe ×1