昨日の夜、酒呑んでる間に先を越されたので俺もやった。

これでがいさんまっつんさんのblogがオンテナ2に追加された。(RNAはAtom対応してない)

XML::FeedPPをCPANからインストールして

cpan> install Bundle::LWP

cpan> install XML::FeedPP

cpan> install XML::TreePP

こんなコードで動いた。

#!/usr/bin/perl -w

use CGI;

use CGI::Carp qw(fatalsToBrowser);

$cgi = new CGI;

use XML::FeedPP;

my $source = “http://hogehoge.com/atom.xml”;

my $feed;

$feed = XML::FeedPP::RSS->new(); # RSSで出力指定

$feed->merge($source); # 他のfeedsと混ぜれる

print $cgi->header(-type => “application/xml”);

print $feed->to_string(“UTF-8”); # 実際にRSS書き出し

俺はCPANモジュール使って華麗に、15分ぐらいで実現した。

このXML::FeedPPはmerge()で複数のfeedを合成できるのもいい。

コードより、どっちかというとapache1.3の設定の方でつまづいてた。



こういう設定



Alias/perl//export/www/cgi-bin/



SetHandlerperl-script

PerlHandlerApache::Registry

Options+ExecCGI



/export/www/cgi-bin/以下でしかcpanモジュールとperlが実行できないようにしといて、シンボリックリンクで/export/www/html/cgi-bin以下に出すようにした。