Search

  毎日にもっと楽~を! BLOG Tokyo

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() の結果をそのまま返す。これは速度改善に役立つ。



Bookmark and Share


編集長のおすすめの一冊!2010

comments

comment form

(BLOG Tokyo にはじめてコメントされる場合、不適切なコメントを防止するため、掲載前に管理者が内容を確認しています。適切なコメントと判断した場合コメントは直ちに表示されますので、再度コメントを投稿する必要はありません。)

comment form