#! perl -slw use strict; $|++; sub r{int rand pop} my $n = pop; my @c = map int rand 10,1..$n; my @x = (0) x $n; for my $d ( 0 .. $n -1 ){ map{ $x[ $d + r( $n - $d ) ] = r( 10 ); printf "\r@x"; $x[ $d ] = $c[ $d ] }1..1e5 }