XML::RAIのバグ
XML::RAIのバグを2つほど、発見。
バージョンはXML-RAI-1.04。
XML/RAI.pmの48行目
- sub time_format { $_[0]->{__timef}=$_[1] if $_[1]; $_[0]->{__timef}; } + sub time_format { $_[0]->{__timef}=$_[1] if defined $_[1]; $_[0]->{__timef}; }
XML/RAI/Object.pmの51〜52行目
- map { $_ = strftime( $timef, gmtime str2time($_->text_content) ) } @r - if $timef; + map { $_ = ($timef) ? strftime( $timef, gmtime str2time($_->text_content) ) : + $_->text_content } @r;
時間をノーマライズするときに、間にgmtimeを挟み込む理由がよくわからない。
なので、PASS_THRUにしようとしたけど、うまくいかないので気づいた。
ちなみに、上記のコードは試してない。
my $rai = XML::RAI->parse($doc); $rai->{__timef}=undef; foreach my $item (@{$rai->items}){ print str2time($item->issued->text_content)."\n"; }
こんな感じで無理矢理回避できる。