perl の stat 関数の引数のアンダースコア

  • 投稿日:
  • by
  • カテゴリ:

http://blog.livedoor.jp/dankogai/archives/51195370.html の、以下の部分が気になった。

    for my $fn ( grep !/\A\./, sort readdir($dh) ) {
        -f "$Dir/$fn" or next;
        $mtime{$fn} = ( stat(_) )[9];
    }

これの stat(_) の部分。 $_ の typo じゃないの?と思って調べてみたら

下線だけの _ という特別なファイルハンドルを stat に渡すと、 実際には stat を行なわず、stat 構造体に残っている 前回の stat やファイルテストの情報が返されます。

http://perldoc.jp/func/stat

へー、知らなかった。
そういえばファイルハンドルとか、三引数の open を知ってからは使うこともなくなってた。