2007年9月25日
【PERL】ファイルサイズを取得
ログファイルがある一定のファイルサイズを超えたらバックアップを取って、ログを完全にクリアしたい場合がある。ファイルサイズの取得には(UNIX?)stat関数を使うとよい。
($size) = (stat($file))[7]; #()括弧はそのままにしないとエラーになる。
ファイルのサイズや作成日付などを調べる。($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,
$atime, $mtime, $ctime, $blksize, $blocks) = stat($file);返却値はそれぞれ、$dev(デバイス番号)、$ino(iノード番号)、$mode(パーミッションモード)、$nlink(リンク数)、$ uid(作成者のユーザID)、$gid(作成者のグループID)、$rdev(???)、$size(バイト数)、$atime(最終アクセス時刻)、 $mtime(最終更新時刻)、$ctime(作成時刻)、$blksize(ブロックサイズ)、$blocks(ブロック数)を意味する。最終更新時刻を知りたい場合は次のようにするとよい。
($mtime) = (stat($file))[9];
expr にアンダーバー(_)を指定すると、最後に実行した stat() の結果をそのまま返す。これは速度改善に役立つ。
- by editor
- at 00:59
編集長のおすすめの一冊!2010
comments