#!/usr/bin/perl use strict; use warnings; use XML::Feed; use URI; use Encode; use encoding 'utf-8'; my $rss_url = 'http://blog.livedoor.jp/dqnplus/atom.xml'; my $feed = XML::Feed->parse(URI->new($rss_url)) or die "Can't download $rss_url\n"; my @recent_entries = $feed->entries; for my $entry (@recent_entries[0..4]) { my $modified = $entry->modified; $modified =~ s/[TZ]/ /; my $title = decode('utf-8', $entry->title); print $modified, "\n"; print $title, "\n"; }
XML::RSSはatomに対応していないようです。まだ理解していないけど、XML::Feedなら
うまくいった。しかしよくわからないのは、dieしたらdecodeなしで日本語表示ができた
のにSTDOUTに表示するときはdecodeしないと文字化けが起きてしまった。