Took me a day, but I think I've finally been able to move my scripts from plain cgi perl to mod_perl. The extensive documention on perl.apache.org was invaluable, though I have some comments below.
One question: Prior to using mod_perl I was able to have unsuffixed scripts and .html files residing together in the server root directory by using Apache's "Files" directive to force the scripts to be executed: e.g.
<Files db> ForceType application/x-httpd-cgi </Files>
I can't seem to do this with mod_perl because I now have to use a SetHandler directive on the directory, so Apache now tries to execute the HTML files. I've tried forcing the scripts to type application/x-httpd-perl, but this doesn't work.
I'd like to keep both the scripts and HTML docs in the root directory so that URLs are as short as possible, but can I do this with mod_perl without having to use URL re-writing?
Also having a problem with the OPEN method in Apache::RequestRec not being found, but a reading of the list archives suggests that an upgrade to the CVS version of mod_perl-2 will fix this.
Finally, some comments on mod_perl installation:
1. In http://perl.apache.org/docs/1.0/guide/getwet.html , use of x.x.x for both the Apache and mod_perl version numbers made me think that the version numbers had to be matched. Maybe y.y.y should be used for one. It also should be stated in this section that one has to use mod_perl-2.x if one is running Apache 2.y.
2. When installing mod_perl-2 I had the problem others have had with failed perlio tests. Looks to be due to the test files being created using the real UID rather than the effective UID.
3. In the configuration section of the 2.0 docs (http://perl.apache.org/docs/2.0/user/intro/start_fast.html#toc_Configuration) it neglects to state the need to issue a directive for the mod_perl handler one is going to use, e.g. "PerlModule ModPerl::Registry".
Thanks to all mod_perl coders!