Snippet Name: Randomize a list
Description: Randomize a list of elements.
Comment: (none)
Language: PERL
Highlight Mode: PERL
Last Modified: March 05th, 2009
|
#!/usr/bin/perl
# randomize: randomize list
SUB randomize{
MY %r;
MY @rtn;
MY ($n,$i);
FOR ($i=0;$i<@_*20;$i++) {
UNLESS ($r{$n=INT(RAND(@_))}++) {
PUSH @rtn,$_[$n];
LAST IF @rtn == @_; # exit when array is "full"
}
}
RETURN @rtn;
} |