Help for this page
my @array=qw(a b c d e); my $num = 13; ... # remaining 3 given to the first three (or randomly). # Desired result: my %result = (a=>3, b=>3,c=>3,d=>2,e=>2);
my $averge = int($num/@array); my %result = map{$_=>$average} @array; for my $i(1..($num - $average*@array)){ ++$result{$array[$i-1]}; }