http://search.cpan.org/dist/XML-Feed/
XML::Feed という CPAN モジュールをつかうと容易に RSS をパーズ/作成することができます。
以下がスクリプト実装例です。
use strict;
use warnings;
use XML::Feed;
use URI;
binmode STDOUT, ":utf8";
my $url = "http://d.hatena.ne.jp/naoya/rss";
my $feed = XML::Feed->parse( URI->new( $url ) );
for my $item ( $feed->entries ) {
print $item->title, "\n";
}
出力例は以下のとおり。
補足: 新はてなブックマークと Flash の利用について
はてなブックマークエンジニア、ディレクターを募集します
インターフェイス指向設計
Introduction to Information Retrieval #5 の復習資料
YAPC::Asia 2008
Introduction to DBIx::MoCo
Hadoop Streaming
以下がスクリプト実装例です。
use strict;
use warnings;
use utf8;
use XML::Feed;
my $rss = XML::Feed->new('RSS');
$rss->title('test');
$rss->link('http://example.com/');
$rss->add_entry(do {
my $entry = XML::Feed::Entry->new('RSS');
$entry->title('My first post');
$entry->link('http://example.com/foobar');
$entry;
});
print $rss->as_xml, "\n";
出力例は以下のとおり。
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns:dcterms="http://purl.org/rss/1.0/modules/dcterms/"
xmlns:blogChannel="http://backend.userland.com/blogChannelModule"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
>
<channel>
<title>test</title>
<link>http://example.com/</link>
<description></description>
<item>
<title>My first post</title>
<link>http://example.com/foobar</link>
<guid isPermaLink="true">http://example.com/foobar</guid>
</item>
</channel>
</rss>
Last modified: $Date: 2008-05-22T09:21:23.154313Z $