parsing POST-parameters yourself is not a good idea, why don't you use CGI.pm or CGI::Minimal if you're concerned about overhead?
The read line throws the error. std_log just writes to a log file with timestamp (works fine).
Regarding parsing the POST parameters, that is certainly correct. But this code was written in 2001 and many paying clients (black boxes to me) connect to it OK. That's why I have find a fix on the client side.
I'll get answers to your questions when I get back to the office. It's Perl 5.8.x, ModPerl 1.x, and the last version of Apache 1 (yes, I know).