in reply to Re: randomly choosing elements from an array
in thread randomly choosing elements from an array

This would seem to disallow duplicate choices:
my @items; while (1) { my $item = $a[ rand @a ]; push @items, $item unless $item ~~ @items; last if $n <= @items; }