Update the FAQ now that Scalar-List-Utils 1.03 has shuffle().
Jarkko Hietaniemi [Tue, 4 Sep 2001 12:04:16 +0000 (12:04 +0000)]
p4raw-id: //depot/perl@11855

pod/perlfaq4.pod

index 826d793..7dcb881 100644 (file)
@@ -1198,7 +1198,14 @@ lists, or you could just do something like this with an array:
 
 =head2 How do I shuffle an array randomly?
 
-Use this:
+If you either have Perl 5.8.0 or later installed, or if you have
+Scalar-List-Utils 1.03 or later installed, you can say:
+
+        use List::Util 'shuffle';
+
+       @shuffled = shuffle(@list);
+
+If not, you can use this:
 
     # fisher_yates_shuffle( \@array ) : 
     # generate a random permutation of @array in place
@@ -1213,6 +1220,10 @@ Use this:
 
     fisher_yates_shuffle( \@array );    # permutes @array in place
 
+Note that the above implementation shuffles an array in place,
+unlike the List::Util::shuffle() which takes a list and returns
+a new shuffled list.
+
 You've probably seen shuffling algorithms that work using splice,
 randomly picking another element to swap the current element with