use warnings; use strict; use XML::Twig; my $twig = new XML::Twig; $twig->parse (do {local $/; }); for ($twig->descendants ('Hotel')) { my $Hotel_name = $_->{'att'}{'name'} || $_->text; next if ! defined $Hotel_name; my $Hotel_id = $_->{'att'}{'ID'}; print "($Hotel_id) " if defined $Hotel_id; print "$Hotel_name\n"; } __DATA__ Marriott #### Marriott (123) Savoy