use RPC::XML::Client; use Digest::MD5 qw/md5_hex/; use POSIX qw/strftime/; my $user = ''; my $pass = ''; { local $/; open FAV, "fav"; @favorites = grep {$_} split /\n/, ; close FAV; } $cli = RPC::XML::Client->new('http://www.newsisfree.com:80/RPC'); for $fav (@favorites){ @arg = ( RPC::XML::string->new($user), RPC::XML::string->new(md5_hex $pass), RPC::XML::int->new($fav) ); $req = RPC::XML::request->new('hpe.getSource', @arg); $resp = $cli->send_request($req); next unless ref $resp; print '='x70,$/,$/; print $resp->{title}->value, $/,$/; print '='x70,$/,$/; for ( sort { $b->{date}->value <=> $a->{date}->value } @{$resp->{items}}){ print $_->{title}->value, $/; print $_->{link}->value, $/; print POSIX::strftime("%A, %B %d, %Y, %H:%M:%S", localtime $_->{date}->value),$/x2; } }