@numbers = 1..30; { local(@temp); push(@temp, splice(@numbers, rand(@numbers), 1)) while @numbers; @numbers = @temp; } print "@numbers\n";