my %parCode = ( 0 => "partition-1", 1 => "partition-2", 2 => "partition-3", 3 => "partition-4" ); while (my $in_line = ) { @time_arr = (); chomp($in_line); if ($in_line =~ /Registered listener on template/){ #print "$in_line\n"; @row = split('\s',$in_line); ($r{time},$r{partition}) = ($row[0],$row[-1]); $r{partitionName} = $parCode{$r{partition}}; #print Dumper(\@row); #print Dumper(\%r); if (exists $parMap_ha{$r{partitionName}}){ #print " >> ### Time event detected - $r{partition} - $parCode{$r{partition}}\n"; #print Dumper(\%parMap_ha); push(@time_arr,@{$parMap_ha{$r{partitionName}}},$r{time}); #print Dumper(\@time_arr); $parMap_ha{$r{partitionName}} =\@time_arr; #print " << ### post modification \n"; #print Dumper(\%parMap_ha); } else{ $parMap_ha{$r{partitionName}} =[$r{time}]; #print " >> *** 1st event detected - $r{partition} - $r{partitionName}\n"; #print Dumper(\%parMap_ha); } } }