I'd be interested to see how this would work though, given my original code post and your modifications. The following code will cache the CGI parameters with Mod_perl. Switching to CGI::Simple was the only solution that I could find.
JS
mycounter.pl _________________ use CGI; my $counter;
sub run{ my $cgi = shift; print "Content-type: text/plain\r\n\r\n"; print "HERE"; $counter = 0; for (1..5) { increment_counter(); } $cgi=null;
} sub increment_counter{ $counter++; my $str=$cgi->param("name"); print "Name=$str Counter is equal to $counter !\r\n"; } 1;
counter.pl _____________ use strict; require "./mycounter.pl"; my $cgi = CGI->new(); run($cgi);
Perrin Harkins wrote:
On Fri, 2004-04-09 at 12:00, Jeremy Silva wrote:
The simple answer, is to not use the default CGI.pm module, but instead use the CGI::Simple module instead. From what I've read, it is faster than the default CGI module.
Glad to hear CGI::Simple is working for you. CGI.pm's mod_perl support
is somewhat tricky, because it uses a lot of global variables. However,
it does work. If it didn't work for you, it was probably due to a
scoping problem somewhere in your code, like an unintentional closure. If you have further problems with apparent caching, look for something
like that.
- Perrin
-- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html