my @array=('one','two','three','four','five','six'); &shuffle(\@array); sub shuffle{ my $array=shift; my $max=@$array; #print $max; foreach(@$array) { my $random=int rand($max+1); unless($random eq $max) { @$array[$random,$max]=@$array[$max,$random]; $max--; } } } print "@array\n";