OUTF_TOP (file name with _TOP) is the default. I tried to declaring it with $^ it didn't help.
I put all my file control in this loop to minimize the confusion with multiple files. All my subroutines use write and I only change $~ for the format. I had some "print" statements and changed $- but I removed all the print statements to insure they were not creating the problem.
I will try and strip down the program and reproduce the problem...