open( INP, "<$ARGV[0]" ) || die; @a = ; close INP; while(1) { $r = int( rand($#a+1) ); push @b, $a[$r]; last if $#a==0; splice @a, $r, 1; } open( OUT, ">$ARGV[1]" ) || die; print OUT @b; close OUT;