in reply to Automating an RSS feed

for my $item($doc) {

This almost certainly isn't doing what you think it is. $doc isn't a list, it's a reference to an XML::Lib document. So effectively, all you're doing there is aliasing $item to $doc. Of course you completely ignore $item within the block, so it's not doing any actual damage. But your loop is only ever being run once.

I think you actually want something more like this (but please note this is untested):

for my $item ($doc->findnodes('//channel/item')) { my $date = $item->findvalue('pubDate'); my $desc = $item->findvalue('description'); $seen{$date} = localtime; next if $SAW{$date}; push @item_output, $desc; }

But it's also worth pointing out that if you're dealing with RSS documents, then XML::RSS is far easier than using a generic XML tool like XML::LibXML.

--

See the Copyright notice on my home node.

"The first rule of Perl club is you do not talk about Perl club." -- Chip Salzenberg

Replies are listed 'Best First'.
Re^2: Automating an RSS feed
by Quicksilver (Scribe) on Aug 07, 2008 at 07:33 UTC
    Thanks. I'll give this a go later. As you say XML::RSS is pretty much the way to go but I was looking at a server which didn't have it installed and wanted to see if I could get this working without it as an experiment.