use IO::Handle (); open(STDERR,'>&', STDOUT); print("STDOUT = ", fileno(STDOUT), "\n"); # 1 print("STDERR = ", fileno(STDERR), "\n"); # 2 print STDOUT 'a'; print STDERR 'b'; print STDOUT 'c'; STDOUT->flush(); # ac STDERR->flush(); # b print("\n"); *STDERR = *STDOUT; print("STDOUT = ", fileno(STDOUT), "\n"); # 1 print("STDERR = ", fileno(STDERR), "\n"); # 1 print STDOUT 'a'; print STDERR 'b'; print STDOUT 'c'; STDOUT->flush(); # abc STDERR->flush();