#!perl -w # rss2html - converts an RSS file to HTML # It take one argument, either a file on the local system, # or an HTTP URL like http://slashdot.org/slashdot.rdf # by Jonathan Eisenzopf. v1.0 19990901 # See http://www.webreference.com/perl for more information # modified for use as BBEdit include. # INCLUDES use strict; use XML::RSS; use LWP::Simple; # Declare variables my $content; my $file; # get the arguments my $thisfile = shift @ARGV; my %args = @ARGV; # report filenames of target and source files print '', "\n"; print '', "\n"; my $arg = $args{val1}; # create new instance of XML::RSS my $rss = new XML::RSS; # argument is a URL if ($arg =~ /http:/i) { $content = get($arg); die "Could not retrieve $arg" unless $content; # parse the RSS content $rss->parse($content); # argument is a file } else { $file = $arg; die "File \"$file\" does't exist.\n" unless -e $file; # parse the RSS file $rss->parsefile($file); } # print the HTML channel &print_html($rss); # SUBROUTINES sub print_html { my $rss = shift; print <
| $rss->{'channel'}->{'title'} |
|
HTML
# print channel image
if ($rss->{'image'}->{'link'}) {
print <
\n";
}
# print the channel items
foreach my $item (@{$rss->{'items'}}) {
next unless defined($item->{'title'}) && defined($item->{'link'});
print "{'link'}\">$item->{'title'} |