Perrin,

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



Reply via email to