#### use XML::XPath; my $file = 'ncpobjs.xml'; my $xp = XML::XPath->new(filename => $file); foreach my $ncptype ($xp->find('//ncp_directory')->get_nodelist){ print $ncptype->find('ncp_file')->string_value; print ' (' . $ncptype->find('@name') . ') '; print $ncptype->find('ncp_file/@md5'), " ", $ncptype->find('ncp_file/@name'), "\n"; print "\n"; }