foreach my $i (0..$maxclients-1) { $selected[$i] = $weighteddiv[int rand @weighteddiv]; next if $i == 0; # Check for duplicates redo if grep {$selected[$i] == $selected[$_]} 0 .. $i-1; }