Presented by Nishishi via Movable Type. Last Updated: 2007/11/04. 05:20:02.

Perlでファイルの最終更新日時を得るには

Perlプログラム内で、特定のファイルの最終更新日時を得たい場合。
statを使うと、手軽にファイルの最終更新日時を取得することができます。

my $filename = "testfile.txt";
my $lastmodified = (stat $filename)[9];

statというのは、UNIXのstat構造体の値を返してくれるものです。特に何かモジュールを呼んで使ったりする必要はありません。
10番目にファイルの最終更新日時が返されるので、上記では10番目の値だけ( [9] )を取り出しています。

これで(上記の例の場合)、変数$lastmodifiedの中にファイルの最終更新日時が入るわけですが、このままでは、1138248689みたいな数値です。
これは、その他の時刻を扱うときと同様、localtime($lastmodified) みたいな感じで、年月日時分秒に分割して適当に使いましょう。

ちなみに、8番目にはファイルサイズが返されるので、

my $filesize = (stat $filename)[7];

…と書いてやると、変数$filesizeに、ファイルサイズが入ります。

Perl/CGI逆引き大全 600の極意 この本の、pp.83~84あたりに解説されてます。

この日記へのコメントはお気軽に! コメント数:0 トラックバック数:1

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

投稿後、投稿できていないように見えることがあります。ブラウザのキャッシュが読まれているだけですので、ページを再読込すれば(=たいてい[F5]キーを押せば)投稿内容が反映されていることが確認できるはずです。連続投稿を試す前にご確認下さい。(^^;)

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

このリストは、次のエントリーを参照しています: Perlでファイルの最終更新日時を得るには:

» PCトラブル from はろーねっと
興味深い内容で、とても楽しく読ませていただきました。 [続きを読む]

トラックバック時刻: 2006年03月04日 08:03