sub shuffled { my @ordered = @_; my @shuffled = (); while (@ordered) { my $i = int(rand() * @ordered); push @shuffled, $ordered[$i]; splice(@ordered, $i, 1); } return @shuffled; } print join(",", shuffled(1,2,3,4,5)) . "\n";