sub shuffle_2 { my @in = @_; my @out; push @out, splice(@in, rand @in, 1) while @in > 1; push @out, @in; @out; } #### Rate shuffle_2 shuffle shuffle_2 5856/s -- -5% shuffle 6140/s 5% --