我知道我能做到這一點,是否可以打開一個打印到perl變量的基於管道的文件句柄?
------
open(F,">",\$var);
print F "something cool";
close(F);
print $var;
------
或此,
open(F, "| ./prog1 | ./prog2 > tmp.file");
print F "something cool";
close(F);
但有可能結合這些?我想做什麼的語義應該從以下幾點明確,
open(F,"|./prog1 | ./prog2", \$var);
print F "something cool";
close(F);
print $var;
但是,上述顯然不會工作。
幾分鐘的試驗和谷歌搜索似乎表明,這是不可能的,但我想知道如果我堅持使用``來捕獲輸出。
嗯,我知道我可以啜食文件我想餵養到變量管道,然後一次發送 - 認爲這就是你的建議,對吧?但我想這樣做,我認爲是不可能的行。 – si28719e 2010-04-19 12:03:10
是的,我不知道一行一行地去做。 – 2010-04-19 12:52:30
要逐行執行此操作,請使用'while'循環逐行處理輸入句柄並打印到輸出句柄。 '打印OUT $ _而;' –
daotoad
2010-04-19 15:29:47