Thanks for the suggestion. I did print $! in the statement underneath the open in the original script. But I modified the open per your suggestion. It didn't die on any of the opens but still gave the error in $! in the following line. Then I tried reading and printing the first line of each file and it worked. Strange.
Comment on Re^2: Inappropriate I/O control operation