in reply to XML Parsing

And with XML::LibXML...

use warnings; use strict; use XML::LibXML; my $parser = new XML::LibXML; my $tree = $parser->parse_file('hotels.xml'); my $root = $tree->getDocumentElement(); for ($root->getElementsByTagName('hotel')){ my $Hotel_name = $_->getAttribute('name') || $_->getData(); next if ! defined $Hotel_name; my $Hotel_id = $_->getAttribute('ID'); print "($Hotel_id) " if defined $Hotel_id; print "$Hotel_name\n"; }

hotels.xml:
<all> <Hotel>Marriott</Hotel> <Hotel ID = "123" name = "Savoy"></Hotel> </all>