にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/09/22. 13:24:20.

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件

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

保存しますか?



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

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

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

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

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

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

--- 当サイト内を検索 ---