my @arr = ('A' .. 'Z'); my @combo; my $n = 2; # keep at it till we get $n random values in one pass do { @combo = (); my $i = 0; rand(1) < $n / ++$i && splice(@combo, rand(@combo), $n <= @combo, +$_) for @arr; } while @combo < $n; print "@combo\n";
In reply to Re: oneliner for selecting multiple values from array
by repellent
in thread oneliner for selecting multiple values from array
by ev00rg
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |