my %hash = ( 1=>2, 19=>20, 38=>50, 40=>10, 60=>3, 66=>80, 700=>1 ); %sums = dosomemagic(%hash); print Dumper(\%sums); #$VAR = { # '1' => 82 # '19' => 83 # '38' => 143 # '40' => 94 #}