16.5 出力をフィルタ処理する
自分のプログラムの出力を後処理する必要があるが、そのための独立したプログラムを作成したくない。
- 暗黙的にforkが行われる形式でopenを使用して、自分のプログラムにフィルタを接続する。
head(100); while (<>) { print; } sub head { my $lines = shift || 20; return if $pid = open STDOUT, "|-"; die "Cannot fork: $!" unless defined $pid; while (<STDIN>) { print; last unless --$lines; } exit; }