昨日の夜、酒呑んでる間に先を越されたので俺もやった。
これでがいさんとまっつんさんの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以下に出すようにした。