它似乎有問題檢索我在我的Perl腳本中執行的另一個應用程序的輸出。檢索另一個程序的輸出的最佳方法
我試着使用
# Option 1:
open(FH, "program -paramaeters |") or warn("$!");
while (my $line = <FH>) { print $line }
# Option 2: IPC::Run3's
run3(\@cmd, \undef, \$output);
# Option 3:
my $output = system("program");
# Option 4:
my $output = `program`;
# Option 5:
my $output = exec("program");
並沒有以上的似乎捕捉到有問題的程序的確切字符串輸出。
我只是想知道是否有比我以前列出的更好的方法。
編輯:
這是Windows系統
確保您的程序不輸出爲標準錯誤。 – 2014-10-02 17:53:29
使用反引號或'qx()'來捕獲標準輸出的輸出。 'system'只給你程序的退出狀態,'exec'結束你的Perl程序,根本不能返回任何東西。如果你沒有得到反引號的捕獲,那是因爲沒有人被髮送。 – TLP 2014-10-02 18:03:10