sub SortArrayOfHashes { my $av= shift; my @sum= map { my $sum = 0; $sum += $_ foreach values %$_; $sum; } @$av; my @idx= sort { $sum[$a] <=> $sum[$b] } 0..$#sum; return @{$av}[@idx]; }