```{index} single: sample; List::Util function ``` ```{index} single: List::Util::sample; Perl function ``` # sample Pick `$count` distinct elements from the list at random. ## Synopsis ```perl my @picks = sample $count, @values; my @three = sample 3, 1..100; ``` ## What you get back A list of at most `$count` elements drawn without replacement. If `$count` is larger than the input, every element is returned in a random order — i.e. the function degrades to `shuffle`. The random source is `$List::Util::RAND` if set, otherwise perl's built-in `rand()`. ## Examples ```perl my @preview = sample 5, @articles; my ($winner) = sample 1, @entries; my @all = sample 999, qw( a b c ); # ('c','a','b') say ``` ## Edge cases - `$count <= 0` returns the empty list. - Fewer inputs than `$count` returns all inputs, shuffled. ## Differences from upstream Fully compatible with upstream. ## See also - `shuffle` — permute the whole list. - `head` — deterministic prefix (no randomness).