perlにて更新日付を取得したのですが・・・
[上に]
[前に]
[次に]
ふむ〜?
1999/12/11(土) 21:07:25
Perlにてファイルの更新日付を取得したいのですが・・・
#-----省略-----
#取り出し対象フォルダ
$dir = 'test';
opendir(DIR, $dir);
foreach $file (grep { !/^\. } readdir(DIR)){
push(@files, (stat("$dir/$file"))[10] . " $dir/$file");
}
closedir(DIR);
#-----以下略-----
と、して取り出した場合なのですが・・・
すべて結果が「1970年1月1日(木)1時1分」とでてしまうのですが?
ちなみに作成日は「1999年12月11日」です。
どこがいけないのでしょうか?
教えてください、お願いします。
あと、statの[9]とか[10]はどういう意味なのでしょうか?
aqua-J
1999/12/11(土) 23:14:41
>(stat("$dir/$file"))[10]
更新時刻ならば、(stat("$dir/$file"))[9]
>あと、statの[9]とか[10]はどういう意味なのでしょうか?
http://www.tohoho-web.com/wwwperl2.htm#statに
書かれてる情報では、不足でしょうか。
ふむ〜?
1999/12/12(日) 03:09:53
[[解決]]
aqua-Jレスありがとうございます。
つまり・・・
$dir = "test";
opendir(DIR, $dir);
foreach $file (grep { !/^\./ }readdir(DIR)){
push(@files, (stat("$dir/$file"))[9] . " $dir/$file");
$time_data = localtime((stat("$dir/$file"))[9]);
@_ = localtime((stat("$dir/$file"))[9]);
}
closedir(DIR);
print "Content-type: text・・・<略>
print "<P>$time_data\n"; ← A
print "<P>@_ \n"; ← B
のようにして
Aなら「Sat Dec 11 01:03:20 1999」となり
Bなら「20 3 1 11 11 99 6 344 0」とうまくいきました。
>http://www.tohoho-web.com/wwwperl2.htm#statに
>書かれてる情報では、不足でしょうか。
ごもっとも(笑)
どうやらミスは配列からの取り出しの際ミスってました(笑)
だから1970/01/01 1:01などとなっていました。
[上に]
[前に]
[次に]