#!/usr/bin/perl use warnings; use strict; use HTTP::Request; use LWP::UserAgent; use XML::RAI; use Data::Dumper; use Encode qw( decode ); my $ua = LWP::UserAgent->new; open IN, "in.txt"; open OUT, ">out.txt"; while () { chomp; my $request = HTTP::Request->new( GET => $_ ); print "Requesting...\n"; my $response = $ua->request( $request ); print " Status: ", $response->status_line, "\n"; print " Last modified: ", $response->header( 'last-modified' ), "\n"; print " Etag: ", $response->header( 'etag' ), "\n\n"; my $response_content = decode('UTF-8',$response->content); my $rai = XML::RAI->parse_string( $response->content ); my $channel = $rai->channel; print "Channel:\n"; print " Title: " . $channel->title . "\n"; print " Link: " . $channel->link . "\n"; print " Modified: " . $channel->modified . "\n"; print " Publisher: " . $channel->publisher . "\n"; for ( @{$rai->items} ) { #my $descriptiond = decode( 'UTF-8', $_->description ); print OUT "Item:\n"; print OUT " Title: " . $_->title . "\n"; print OUT " Link: " . $_->link . "\n"; print OUT " Description: " . $_->description . "\n"; print OUT " Created: " . $_->created . "\n"; print OUT "------------------------------------------------\n\n"; } $request->header( 'If-Modified-Since', $response->header( 'last-modified' ) ); $request->header( 'If-None-Match', $response->header( 'etag' ) ); }