in reply to XML::Atom with Feedburner

XML::Atom::Entry objects don't have a method named im:name. In fact, it's even a valid Perl subroutine name. To get arbitrary XML elements, you need to use get and set.

But first, you need to know the namespace to which the element (name) belongs. It's not "im". That's just an arbitrary identifier. It's the uri to which it is associated that matters. Looking at the feed, we see it's http://itunes.apple.com/rss.

Now that you have the element name and the name of the namespace in which the element belongs, you can use get and set.

my $itunes_ns = XML::Atom::Namespace->new( itunes => 'http://itunes.apple.com/rss' ); my $name = $entry->get($itunes_ns, 'name');

I used the more meaningful "itunes" over "im". Like I said, the identifier itself is meaningless.

Replies are listed 'Best First'.
Re^2: XML::Atom with Feedburner
by casimo (Sexton) on Jun 21, 2009 at 00:26 UTC
    ikegami, thanks for the code and the explanation of XML namespaces.
    Both are very helpful.