in reply to Perl & CGI to cause Defunct?

I had similar problems with Apache and Oracle 8i on Linux. What I experienced was that Oracle was mysteriously hanging onto open database cursors which would cause a process to chew up CPU time. Looks like it was a problem with my version of Oracle. At any rate, I had to resort to writing a script to wake up every few minutes and kill the offending process. Not an ideal solution, I know.

To ensure that this is not happening to you, I advise to to close your database cursors, to undef them, and to do a disconnect at the end of processing just to reduce the chances that your code is causing the problem.

However, the bigger issue is that your buddy really needs to get mod_perl working. If your friend is on RH7, he needs to make sure to install mod_perl version 1.2.4 or better (the one distributed with RH7 had problems).

The benefit to installing mod_perl as I understand it is that it performs a task known as "connection pooling" for your database connections. Rather than actually connecting to the database when you say $dbh->connect(), mod_perl keeps a certain number of connections alive at all times so that you don't have to waste valuable time on the connect. You won't have to modify your code after mod_perl is in place, so go on, punch your buddy in the teeth and tell him to install mod_perl.

and I like chicken.