XML::FeedPPモジュール

Google CalendarのAtomFeedを取り出すPerlスクリプト

Googleカレンダーのマイカレンダー >> カレンダー設定 >> 個人用URLのXMLアドレスを$urlに代入するとカレンダーを取得できます。
ただし、これは単純にXMLを取得してくるだけなのでデータの加工は行いません。

本来ならHTTP::Liteモジュールは必要ありません。ならなぜ使っているのか!!
うちの大学では必ずProxyサーバを経由しなければHTTP接続を行うことができません。
そこで今回HTTP::LIteモジュールを使ってProxyに接続を行っています。
以下スクリプト

#!/usr/bin/perl
use XML::FeedPP;
$http = new HTTP::Lite;

$url = 'http://www.google.com/calendar/feeds/********%40*********/private-*****************/basic';

$http->proxy("proxy.**.**.**");
$req=$http->request($url);
$body=$http->body();
$feed=XML::FeedPP->new($body);
print "Content-Type: text/xml;charset=euc-jp\n\n";
print $feed->to_string("euc-jp");