in reply to Re^2: print() on closed filehandle WRITE_FH
in thread print() on closed filehandle WRITE_FH

You have to do the my $orig_fh = select(WRITE_FH); the first time you select WRITE_FH -- otherwise, you've already lost the original file handle. Then, just before or just after the close WRITE_FH, you need to select the original again using select($orig_fh), so that it's active after you've closed WRITE_FH.