[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Omaha.pm] Randomize an array
Neat. I can't remember every wanting to randomize an array. Now I need to to see if my message pair groking routing works under load.
60 seconds on Google, and I hit this array randomizer.
Yay!
(
It also reminded me of this class I was looking at a couple weekends ago:
http://search.cpan.org/~simon/Games-Poker-TexasHold-em-1.4/em.pm
http://use.perl.org/~petdance/journal/20904
)
j
###############################################################################
#
# Function: shuffle
# Purpose: Randomize an array
#
# Comments: This routine was ripped from 'Perl Cookbook' pg 121-122
#
###############################################################################
sub shuffle {
my $array = shift;
my $i = scalar(@$array);
my $j;
foreach $item (@$array )
{
--$i;
$j = int rand ($i+1);
next if $i == $j;
@$array [$i,$j] = @$array[$j,$i];
}
return @$array;
}