$fulllookupKey = Summary."\t".Detial_Summary."\t".Name."\t".Location."\t".Sub_Location."\t". if (exists($output{$fulllookupKey})){ $output{$fulllookupKey}->[0] += $Count; $output{$fulllookupKey}->[1] += $Amount; } else { $output{$fulllookupKey}->[0] = $Count; $output{$fulllookupKey}->[1] = $Amount; } for my $key (sort keys %output){ my $Summary = substr($key,0,7); my $Detial_Summary = substr($key,8,7); my $Source = substr($key,16,100); print Out $Summary;." \t" . " \t" . " \t". "\t" ."\t" ."\t" ."\n"; print Out " \t" . $Detial_Summary." \t" . " \t" . " \t". "\t" ."\t" ."\t" . "\t" ."\n"; print Out " \t" . " \t" . $Source."\t".sprintf("%.2f", $output{$key}->[0])."\t".sprintf("%.2f", $output{$key}->[1])."\n"; }