#!/usr/bin/perl use XML::XPath; my $xp = XML::XPath->new(xml=> join '',); my @names; # Where we'll put our results for my $entry ( $xp->findnodes('//entry') ) { my $filename = $entry->findvalue("./name"); my $content = $entry->toString; print "---File $filename would contain---\n $content\n"; push @names,$filename; } # Now sort and prepare for output @names = sort(@names); print "I found these names:\n@names\n"; __DATA__ File1 123 Platypus Lane Burgopolis FL 12345 File2 123 Platypus Lane Burgopolis FL 678 File3 123 Platypus Lane Burgopolis FL 910 #### ---File File1 would contain--- File1 123 Platypus Lane Burgopolis FL 12345 ---File File2 would contain--- File2 123 Platypus Lane Burgopolis FL 678 ---File File3 would contain--- File3 123 Platypus Lane Burgopolis FL 910 I found these names: File1 File2 File3