File::stat

statはご存知ファイルハンドルやパスからファイルハンドルの情報を得る関数です。

13個の要素がリストで返ってきます。

my (
  $dev,
  $ino,
  $mode,
  $nlink,
  $uid,
  $gid,
  $rdev,
  $size,
  $atime,
  $mtime,
  $ctime,
  $blksize,
  $blocks
) = stat($filename);

みたいな感じなわけで。

で、実装している上で上記の13個の要素が全て必要というケースを非常に稀です。(少なくとも僕は)

あえて作為的に書きますと

my (
  undef,
  undef,
  undef,
  undef,
  undef,
  undef,
  undef,
  undef,
  $atime,
  undef,
  undef,
  undef,
  undef
) = stat($filename);

という中々悲惨な事になります。

しかしFile::statでは

use File::Stat;
$atime = stat($filename)->atime;

すっきり。