use strict; use warnings; my @columntotals; my %sheet = (Terry => [5, 2], Doug => [4, 3], Fred => [1, 5]); print "Employee Buffalo Cleveland Total\n"; foreach my $key (keys %sheet) { my @data = @{$sheet{$key}}; my $sum = 0; $sum += $_ for @data; push @data, $sum; print "$key @data\n"; $columntotals[$_] += $data[$_] for 0 .. $#data; } print "Total @columntotals\n";