Ok - I've narrowed down the "Bad file number" error. Looks like you'll get that when there's a problem performing a 'close()' on a Filehandle glob. Not that I'm any further now than I was before for knowing that, since I don't know why the close is failing in the first place.
I would really like it if we had a normal network setup. But then, does anyone? I am now fighting with what should have been a simple process - emailing/paging in the event of program failure. For some reason, emails never reach me, and I suspect it's because our Sendmail configuration is stupid, the firewall is causing issues, or the mailhost is fucked up.
Debugging this code leads me to believe I'm not connecting to the mailhost at all (looks like CONNREFUSED is what I'm hitting, with $! being set to "I/O Error"), but then it *does* make it to me if I run the program in a debugger. Very weird.
I tried both Mail::Sender and Net::SMTP. Maybe they're floating around out there and will show up 4 hours from now....
I'm probably going to come in tomorrow to make up for all the lost time I've had this week on these freaky errors. Fuck.