Hi,
This might be a little off topic, I hope it's OK to post. I'm not positive
if mod_perl matters or not because it's a little confusing to me.
I've taken over some pretty old code that I'm updating and making mp2
content handlers out of. The main script is a standard cgi script
"start.cgi" there is nothing special in the apache conf for it.
<Directory /xxx/>
SetHandler perl-script
PerlFixupHandler My::Fixup
PerlResponseHandler ModPerl::PerlRun
PerlOptions +ParseHeaders
DirectoryIndex start.cgi
Options +ExecCGI +Indexes
allow from all
</Directory>
start.cgi calls a custom module (use CustomModule;) which exports a bunch of
subs, for example foobar and all over the place in the subs that are
exported from CustomModule I see code like
sub foobar {
my $key = @_;
if ($cache{$key}) {
return $cache{$key};
} else {
my $do_some_query = xxxx;
$cache{$key} = $do_some_query_results
return $cache{$key};
}
}
My question is isn't the "else" in foobar always going to be true anyplace
where start.cgi is calling "&foobar('somekey')"??????
I don't understand how %cache could already be populate from a previous
browser request or something? I'm I just missing something stupid?
FYI this was all running before on a version of Debian with old apache and
old mod_perl (early 1.99 and 2.0.x). I've updated mod_perl to 2.0.2 and
apache to 2.2 and everything still works.
TIA!!
-Chris