my $number_of_elements = 5; # arbitrary, can be anything my @order = (); my @base = (0 .. $number_of_elements - 1); srand; push @order, splice(@base, rand @base, 1) while (@base);