# randomize, via Fisher-Yates @array[-$i,$j] = @array[$j,-$i] while $j = rand(@array - $i), ++$i < @array; #### @no_repeats = do { my %h; grep !$h{$_}++, @with_repeats };