#!/usr/bin/perl use strict; use Data::Dumper 'Dumper'; my @files = glob('/abc*/info.xml'); my %hash; my $info_name; foreach my $xmlname(@files) { open XML, $xmlname or die "Cannot open $xmlname for reading: $!\n"; while(){ if ( /\/i ) { ($info_name) = (/([^<])/i); } if ( /\/i ) { my ($it_size) = (/([^<])/i); $hash{$info_name} = $it_size; } } } print Dumper( \%hash );