FILEHANDLE
を用いてすぐにまた open
する場合は、
close
する必要は無いが(open
が close
する)、
入力ファイルに対して明示的に close
を行うと
ラインカウンタ($.
)がリセットされる
(open
の行う close
ではそうならない)。
また、パイプを close
する時には
そのパイプを用いて実行されているプロセスが終わるのを待つ
(あとでパイプの出力を見ることができるように)。
パイプを明示的に close
するとコマンドの status が $?
に入る。
open(OUTPUT, '|sort >foo'); # pipe to sort ... # print stuff to output close OUTPUT; # wait for sort to finish open(INPUT, 'foo'); # get sort's results
FILEHANDLE
はファイルハンドルの名前を値として持つ expression でもいい。