3引数のopenで標準出力とファイル出力を出し分け

以前に404 Blog Not Foundで「openは3引数で」というエントリを見たことがあって3引数を使うようにしていたんだけど、ログを吐くときに標準出力とファイル出力の出し分けをしようとしてどうやっていいのかわかんなかった。
どこで分岐させるのがいいの?openするの?どうするの?どうするの?closeは?ねぇねぇcloseは?
とかめちゃくちゃ悩んだ。

googleで調べても3引数のは見当たらず、2引数の「-」使えばいいってのばかり。
「いやいや3引数はどうやるんだよ」って「site:blog.livedoor.jp/dankogai/」で絞ったらあったよ。

404 Blog Not Found:勝手に添削 - PerlによるCSVファイルの高速集計 2

if ($out_file){
    open $wfh, ">", $out_file or die "$out_file:$!";
}else{
    $wfh = \*STDOUT;
}

…よりによって「openは3引数で」を見たエントリそのものじゃないか。。。


それにしても調べ方がわからないとどうしていいかわからないな。
手元にクックブック初めてのperlしかなくて、そこにも2引数しかなかったし。
cpanにあるモジュールを参考にしようとしたけど出し分けしてるのを探す探し方がまたわからなかったと。

まぁ、でも見つかって良かった。
とりあえず一歩前進。