前節ではさまざまなファイルテスト演算子を紹介しましたが、これらの演算子はファイルの全ての情報を教えてくれるわけではありません。 そこでstat関数を使用すると、ファイルについてのさらに多くの情報を得ることが出来ます。 stat関数は受け取ったファイルについて以下の情報をリストにして返してくれます。
上のリスト内にあるそれぞれの用語などは、UNIX、それもBSD系のUNIXファイルシステムが元になっています。それぞれの用語の意味などについてはUNIX関連の本などを参照してください。 次に使用例を示します。
($dev, $inode, $mode, $nlink, $uid, $gid, $rdev,
$size, $atime, $mtime, $ctime, $bsize, $blocks)
= stat("stat.html");
print "\$dev : ", "$dev\n";
print "\$inode : ", "$inode\n";
print "\$mode : ", "$mode\n";
print "\$nlink : ", "$nlink\n";
print "\$uid : ", "$uid\n";
print "\$gid : ", "$gid\n";
print "\$rdev : ", "$rdev\n";
print "\$size : ", "$size\n";
print "\$atime : ", "$atime\n";
print "\$mtime : ", "$mtime\n";
print "\$ctime : ", "$ctime\n";
print "\$bsize : ", "$bsize\n";
print "\$blocks : ", "$blocks\n";
上のスクリプトはstat.html、つまり今開いているこのファイルについての情報を取得して左辺のリストに代入し、それを出力する物です。 stat関数が返す全ての要素に対する情報を持たないOSもあるので注意が必要です。
この節ではstat関数を使ってファイルの詳細情報を取得する方法を紹介しました。 次の節ではファイルの追加と削除、ファイルコピーの方法を紹介します。