Я знаю, что могу это сделать,
------
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;
однако вышеприведенное явно не сработает.
Несколько минут экспериментов и поиска в Google, кажется, указывают на то, что это невозможно, но я хотел бы знать, застрял ли я с использованием `` для захвата вывода.