Odd, checking into my version CGI.pm (which I dont use), it cleans up it's own globals by installing a cleanup handler:
Apache->request->register_cleanup(\&CGI::_reset_globals); so either your version of CGI.pm is broken or your mod_perl was somehow compiled without PERL_CLEANUP. Alex Harper wrote: > Thanks, I looked and we're not. Here's the simplest case: > > use CGI; > my $cgi = new CGI; > my @params = $cgi->Vars(); > print $cgi->header(-type => 'text/html'); > print $cgi->start_html(); > print "Process: $$<BR>\n"; > print "Query String:<BR>\n"; > print $ENV{QUERY_STRING} . "<BR>\n"; > print "Params:<BR>\n"; > print join("<BR>\n", @params) . "<BR>\n"; > print $cgi->end_html(); > > I push some arbitrary params (theparam=try1, etc.) in the URL and get > back: > > Process: 18860 > Query String: > theparam=try2 > Params: > theparam > try1 > > Note the mismatch between the query string and the params. > > Apache is running just 2 servers (StartServers 2) and I removed the > CGI.pm precompile from the mod_perl startup. > > Any other suggestions? I'm feeling a bit desperate... > > Alex > > -- > Alex Harper > Configuration Management > [EMAIL PROTECTED] > "Use whatever you think of first" -- Larry Wall > > > > -- -- Daniel Bohling NewsFactor Network