IPC::Open2 'open2'

IPC::Open2 'open2' はPerl上であるコマンドに好きな入力を与えて、その出力を利用したいという時に使える。
標準の open では

open(COMMAND, "command |");
open(COMMAND, "| command");

みたいに、どちらか片方しか扱えない。

IPC::Open2 'open' の使い方

use IPC::Open2;
open2(*README, *WRITEME, $program);
print WRITEME "here's your input\n"; # $program に "here's your input\n" という入力を与える
close(WRITEME);                      # 入力を与え終わったら、出力用のパイプを閉じる
for my $ret (<README>) {             # $program から与えた入力の加工結果を受け取る
    print $ret;
}
close(README);

詳細は
perldoc IPC::Open2
というか、プロセス間通信のことよく知らないのでもっと調べたい。