Key1 Key2 Value -------------------------------------- red bike 5 red car 4 red shoes 20 yellow shoes 1 yellow skates 1000 #### while (<>){ ... $hash{key1}{key2}[0]++; ... } #### for $colour (sort keys %hash){ for $device (sort keys %{ $hash{$colour}}){ printf("\n%-55s %-55s %-40s", $colour, $device, $hash{$colour}{$device}[0] ); } }