RSSの更新日時の形式として ISO8601と RFC822形式が見られますが、
後者の方の解析がよくわからなかったので調べてみた。
CPANを探したところいくつかモジュールが見つかったんで
とりあえず DateTime名前空間にある DateTime::Format::Mailと
いうモジュールを使ってみた。
#!/usr/bin/env perl use strict; use warnings; use DateTime::Format::Mail; my $pf = DateTime::Format::Mail->new(); my $dt = $pf->parse_datetime("Fri, 12 Mar 2010 22:30:33 +0900"); print $dt->ymd, "\n";
parse_dateメソッドに RFC822/2822形式の文字列を渡すと
DateTimeオブジェクトが返ってきます。
結果
% perl parse_date_rfc822.pl 2010-03-12
ちゃんとできてますね。
これでブログの更新日時の解析がちゃんとできそうです。