my %hash; open my $fh, '<', $file or die "Could not open '$file' $!"; while(<$fh>) { chomp(); if(/SQL:: (.*),Time Taken:: (.*)/i) { #print "$1=$3\n"; $hash{$1}->{count}++; $hash{$2}->{total} +=$2; if(defined $hash{$2}->{min}) { if ($hash{$2}->{min} > $2) { $hash{$2}->{min} = $2; } } else { $hash{$2}->{min} = $2; } if(defined $hash{$2}->{max}) { if ($hash{$2}->{max} < $2) { $hash{$2}->{max} = $2; } } else { $hash{$2}->{max} = $2; } } else { print "not matching\n"; } } print Dumper \%hash;