use strict; use warnings; use List::Util qw(sum); use List::MoreUtils qw(apply); my @nums = qw( 5 10 15 20 25 ); my $totalSum = sum @nums; my @array = apply {$_ /= $totalSum} @nums; printf "Fractional Parts:\n" . "%8.6f\n" x scalar @array, @array; #### Fractional Parts: 0.066667 0.133333 0.200000 0.266667 0.333333