While trying to do what the mod_perl guide reccomends as a performance
increaser (not loading CGI.pm, and using mod_perl's functions as
replacements for what CGI.pm does and doing PerlSetupEnv Off).. I
realized that CGI.pm was being loaded even if I had no pre loaded
modules..

All I had setup was Apache::Status perl handler for a <Location>

So, i looked at the code a little bit, and realized Apache::Status was
loading CGI.pm..  it does a check to see if Apache::Request is loaded or
can load and uses it if it can, and if it can't, it resorts to CGI.pm..

The catch? There is no Apache::Request module..at least that I could
find..in my 24 and 24_01 installs..

Instead, I replaced the require Apache::Request with Apache, and where
it tried to get a handle, I made it Apache->request() and it seemed to
work..

Another thing I noticed... CGI::Cookie was loading CGI.pm for three
functions, unescape, escape and another I didn't look at... in reality,
unescape and escape reside in a  module called CGI::Util, which CGI.pm
uses (in newer versions of CGI.pm) .... wouldn't it be more efficient to
load CGI::Util.pm which is 5k, instead of CGI.pm which is 205k in newer
versions..?

Modifying all the above resulted in Apache::Status no longer saying
CGI.pm was loaded..

--

Reply via email to