#!/usr/bin/perl -w # Copyright 2005 ISHIHARA Yoshinori # $Id$ # # ussage: ./getRSS.pl filename # ussage: cat filename | ./getRSS.pl # filename RSSへのパス(url)を一行一パスで指定したファイル # use strict; use LWP::Simple qw(get); use XML::RSS; my $file = $ARGV[0]; my $fh; if ($file) { open($fh, "< $file"); }else{ $fh = \*STDIN; } my $rss = new XML::RSS; while (<$fh>) { next if (m/^$/); my $fname = get_save_file_name($_); $rss->parse(get($_)); $rss->save($fname); show_rss_item($rss); } sub get_save_file_name { my $url = shift; $url =~ s|^http:\/\/||; $url =~ s|[\/]|_|g; return $url; } sub show_rss_item { my $rss = shift; for my $item (@{$rss->{items}}) { my $title = $item->{title}; my $descr = $item->{description}; print "[$title]\n"; print "$descr\n\n"; } }