0
在DOS下,我會運行下面的命令perl:如何將多個值傳遞給系統命令?
simread31 file.sim
,程序會問我9個輸入。
現在,我想在Perl中做到這一點。我知道我可以將echo
與system
合併爲一個輸入,但是如何處理多個輸入?
千恩萬謝
在DOS下,我會運行下面的命令perl:如何將多個值傳遞給系統命令?
simread31 file.sim
,程序會問我9個輸入。
現在,我想在Perl中做到這一點。我知道我可以將echo
與system
合併爲一個輸入,但是如何處理多個輸入?
千恩萬謝
您遇到麻煩system()
這樣做的原因是,它是錯誤的工作工具。如果你open(my $fh, '|-', 'simread31', 'file.sim')
你可以print
或say
你輸入到兒童節目的STDIN。
我現在不在我的機器上,因此語法來自內存。 perldoc perlopen
應該提供更多細節。
的Windows
由於Windows不實現管道的列表形式開放,你應該使用這樣的事情: open(my $fh, '|-', "simread3.exe $sim_file")
管道直接輸入從Perl中,通常會比開放更有效,書寫,關閉,通過system()
管道系統,然後清理外部文件。
你好,非常感謝你的回答。因爲我在Windows機器上工作,所以我不能使用'open'列表。 我已經成功的系統和一個輔助文件準備了一些步驟: 'system(「simread3.exe $ sim_file
更新了我的答案。 – tjd