open (FIN, "<$ARGV[0]") || die "Input file: $!\n"; open (FOUT, ">$ARGV[0]-randomized") || die "Output file: $!\n"; $flag = 1; #set autoflush on output filehandle $oldfh = select(FOUT); $| = 1; select ($oldfh); while () { if ($flag) { seek (FOUT, 0, 0) || die "Seek to beginning: $!\n"; $flag = 0; } else { seek (FOUT, 0, 2) || die "Seek to end: $!\n"; $flag = 1; } print FOUT $_; } close (FOUT); close (FIN);