8.17 ファイルの信頼性をテストする

ファイルの設定情報を読み込みたい。そして、そのファイルの所有者以外のユーザの書き込み権限(および読み取り権限)が無効になっていることを確認したい。

( $dev, $ino, $mode, $nlink,
  $uid, $gid, $rdev, $size,
  $atime, $mtime, $ctime,
  $blksize, $blocks ) = stat($filename) or die;
$mode &= 07777;   # ファイルの型情報を破棄する。
  • File::statモジュールのstat関数を使用する
use File::stat;

$info = stat($filename) or die;
if ($info->uid == 0) {
  print "Superuser owns $filename\n";
}
if ($info->atime > $info->mtime) {
  print "$filename has been read since it was written.\n";
}