2014-01-22 27 views

回答

3

您遇到麻煩system()這樣做的原因是,它是錯誤的工作工具。如果你open(my $fh, '|-', 'simread31', 'file.sim')你可以printsay你輸入到兒童節目的STDIN。

我現在不在我的機器上,因此語法來自內存。 perldoc perlopen應該提供更多細節。

的Windows

由於Windows不實現管道的列表形式開放,你應該使用這樣的事情: open(my $fh, '|-', "simread3.exe $sim_file")

管道直接輸入從Perl中,通常會比開放更有效,書寫,關閉,通過system()管道系統,然後清理外部文件。

+0

你好,非常感謝你的回答。因爲我在Windows機器上工作,所以我不能使用'open'列表。 我已經成功的系統和一個輔助文件準備了一些步驟: 'system(「simread3.exe $ sim_file

+0

更新了我的答案。 – tjd

相關問題