use warnings; use strict; use XML::TreeBuilder; my $xml =q( file1.exe file2.zip ); my $tree = XML::TreeBuilder->new (); $tree->parse ($xml); my @fileElts = $tree->find ('file'); my %file_url; $file_url{$_->attr ('file_url')} = $_->as_text () for @fileElts; print "$_: $file_url{$_}\n" for keys %file_url;