#!/usr/bin/perl # This is the program that can generate Google Taiwan News RSS (0.91) # author: Cheng-Lung Sung # version: 0.90 # create date: Sep 9 2004 # last update: Sep 10 2004 # license: Artistic (Perl) use warnings; use strict; use lib '../blib/lib'; use WWW::Google::News::TW qw( get_news ); use CGI qw(:standard); use Encode qw (from_to); use XML::RSS; #use Data::Dumper::Simple; my $news = get_news(); #warn Dumper($news); #exit; my $rss = new XML::RSS (version => '0.91'); $rss->channel(title => "Google Taiwan News"); $rss->channel(link => 'http://news.google.com.tw/news?ned=ttw'); my @keys = ('焦點','國際','台灣','財經','科技','體育','娛樂','兩岸','社會'); $rss->channel(description => join(' ',@keys).' 各六篇'); for (@keys) { my $section = $_; for (@{$news->{$section}}) { $rss->add_item(title => "[$section] ".$_->{headline}, description => $_->{summary}."...", link => $_->{url} ); } #Encode::from_to($_, 'utf8', 'big5'); # print STDERR $_; } sub section_sort { my $aa = $a; my $bb = $b; Encode::from_to($aa, 'utf8', 'big5'); Encode::from_to($bb, 'utf8', 'big5'); print STDERR "$aa <> $bb (".($a cmp $b)."\n"; if ($a eq '焦點') { return -1; } if ($b eq '焦點') { return 1; } return $a cmp $b; } print $rss->as_string, "\n";