I can see from the responses so far that I was unclear in the way I phrased my question, so please let me emphasize the following: MY SCRIPT, THOUGH COMPLEX (500 LINES), PRODUCES EXACTLY THE OUTPUT I EXPECT EVERY TIME I RUN IT. In particular, it never hangs or gives a wrong answer. Also, with all error trapping enabled, no error appears on the server log.
Where I think we need to focus is, assuming the script runs to its end every time, why doesn't it release its hold on the server resources? My hosting service runs Apache version 2.2.22. I can't tell what version of Perl they run. I had been relying on the idea that a mannerly Perl interpreter would automatically release resources when it runs out of statements to execute. Is it possible that I need to include some sort of END declaration? John M Rathbun MD