use List::Util 'sum'; my $sum = sum values %rep_stats; my $entropy = sum map { -($_/$sum) * log($_/$sum) / log(2) } values %rep_stats; printf "Total entropy: %.05f\n", $entropy;