I can't help much with 10.6.8. On Mountain Lion, all I had to do was:
1) Enable mod_perl in httpd.conf
2) Add the following to my user config file:
Options (previous stuff) ExecCGI
3) Restart Apache and...
my $out = CGI->new();
print << "EOS";
/Users/jdaniel/Sites $ curl http://localhost/~jdaniel/hello.pl
PS: I getting back into Perl CGI now that I just resized my Linux PHP servers flat out can't emit a content-length greater than 2GB. My Mac, of course, has no problem with it. IT, of course, would never run a Mac. On an entirely unrelated note, said anti-Mac IT broke 4 out of my 6 Linux servers taking about 90% of my processing power. Sorry, I digress...
Huzzah! It worked right away. I had totally forgotten about the user config file. Thanks for the help!
PS: That's weird that the Linux php stops working like that. I don't really know but maybe switching to the newest version of php and running 64bit would change something? (other people have had this problem too) Too bad about the IT staff though.
I'm just ranting. I thought it was funny that you posted a question like this just one the day that I was writing my first Perl CGI in 15 years or so - just to get around this PHP bug. It shouldn't even be a 64-bit issue. It is just an HTTP header. Why can't I put what I want in them?
It's all an IT issue. Linux is only as good as your IT support. If you are maintaining one machine and doing it yourself, Linux is no big deal. When you have 8 then upgrading things at the drop of a hat only causes problems. Running OS X is like having Linux with a really funky distro but a really good sysadmin.
I'm glad you got it working. I'm always glad to see people using Perl.