I just realized that I used CGI.pm in my "Hello World" test. I just tried it manually printing the headers, no defuncts. I added use CGI;, and I got a few defuncts.
Could it be the beloved CGI.pm causing the problems!? I'm using version 2.76.
I had some problems earlier with CGI.pm's "offline" mode running as a child process. if it helps at all I foud that a wrapper script was running the perl code on the command line and redirecting the output to apache.