sub naive2 (@) { my @l=@_; my @l2; for (reverse 0..$#l) { my $r=int rand($_+1); push @l2, $l[$r]; $l[$r] = $l[$_]; } @l2; }