#!/usr/bin/perl %stats = ("Kendall",131, "Mackowiak",121, "WilsonC",148, "Redman",153, "WilsonJ",198, "KevenS", 148, "SmithE", 95, "HoffmanJ", 148); $stats{"WilsonJ"}+=3; $stats{"Kendall"}+=2; print "\nsorted:\n"; foreach (sort keys %stats) { print $_, ":", $stats{$_},", ";} printf("\n The average:%3.2f\n", average(keys %stats)); print "\nsorted by numbers:\n"; foreach (sort by_num keys %stats) { print $_, ":", $stats{$_},", ";} print "\n"; sub average { foreach $x (@_) { $i+= $stats{$x}; } $i/(keys %stats); } sub by_num { ($stats{$a} <=> $stats{$b}) || ($a cmp $b); }