我不确定如何提出这个问题。我正在尝试编写一个调用子程序(一个Fortran程序)的Perl程序,所以子程序转到stdin得到是/否。
Perl是否可以提供该选项,而不让孩子去STDIN?
由于编程词汇量不佳,我无法从谷歌那里得到答案。
答案 0 :(得分:3)
您可以使用来自管道的输入启动程序:
open my $ftn_input, '|-', $fortran_program
or die "Couldn't start $fortran_program: $!";
if ($yes) {
print $ftn_input "Yes\n";
}
else {
print $ftn_input "No\n";
}
close($ftn_input) # waits for fortran program to complete
or die "Program failed; error $!, wait status $?\n";