[svn:perlfaq] r12286 - perlfaq/trunk
[email protected] Sat, 27 Dec 2008 06:11:30 -0800 (PST)
| Newsgroups | perl.cvs.perlfaq |
|---|---|
| Message-ID | <[email protected]> |
Author: comdog
Date: Sat Dec 27 06:11:30 2008
New Revision: 12286
Modified:
perlfaq/trunk/perlfaq4.pod
Log:
* perlfaq4: How do I shuffle an array randomly?
+ Fix Fisher Yates shuffle for case where the list is empty
Modified: perlfaq/trunk/perlfaq4.pod
==============================================================================
--- perlfaq/trunk/perlfaq4.pod (original)
+++ perlfaq/trunk/perlfaq4.pod Sat Dec 27 06:11:30 2008
@@ -1593,6 +1593,8 @@
sub fisher_yates_shuffle {
my $deck = shift; # $deck is a reference to an array
+ return unless @$deck; # must not be empty!
+
my $i = @$deck;
while (--$i) {
my $j = int rand ($i+1);