Perlでファイルの作成日を得るには?
[上に]
[前に]
[次に]
がつ
[E-Mail]
1999/10/27(水) 17:09:16
PerlのCGI中で使用しているファイル及び作業ディレクトリの
作成日(秒の単位くらいまで)を取得したいのですが、
本とかを読んでみても方法がいまいちわかりません。
なにかうまい方法があれば教えて下さい。
環境がWindowsNTなのでNTで可能な方法をよろしくお願いします。
バーチャルヒューマン
[E-Mail]
[HomePage]
1999/10/27(水) 19:36:55
こんな感じで、ファイルの更新日時が取得できますよ
$_ = localtime( (stat("file-name"))[9] );
詳しくは、stat() 関数のreferenceを見るといいですよ。
ふじ
1999/10/27(水) 21:34:16
>$_ = localtime( (stat("file-name"))[9] );
localtime 関数が返すのは配列では?
($sec, $min, $hour, $day, $mon, $year) = localtime( (stat("file-name"))[9]);
とか。あと、
(stat("file-name"))[9]
これだと最後の更新日時が得られます。作成日時が欲しいなら
(stat("file-name"))[10]
現在から何日前に作られたのかを調べたいなら、ファイルテスト演算子 -C も
使えます。
B-Cus
1999/10/27(水) 22:12:31
> localtime 関数が返すのは配列では?
scalar として評価すると、日時になります。
% perl -e '$_=localtime((stat("filename"))[9]); print "$_\n"'
Wed Oct 20 02:43:19 1999
# $_=scalar(localtime((stat("filename"))[9])) と同じ。
% perl -e '@_=localtime((stat("filename"))[9]); print "@_\n"'
19 43 2 20 9 99 3 292 0
ふじ
1999/10/27(水) 22:55:38
あ、なるほど。勉強になります。
#やっぱ実験しないで書いちゃ駄目ですね(^^;;
がつ
1999/10/27(水) 23:33:38
[[解決]]
ありがとうございました。
これでCGIを完成させることができそうです。
本当にありがとうございました。
[上に]
[前に]
[次に]