in reply to Re^4: Mason problems
in thread Mason problems

> How would I check if mod_perl is caching the module

The anon monk meant "check(), your module,..." not for you to check the caching.

> why is the routine that causes the error keep changing?

Apache always starts a few server threads/processes to handle indivual http requests so that it can process more than one request at the same time. In case you are using mod_perl each process has its own mod_perl environment and its own variable space. So if you don't initialize a global variable in a perl script (common mistake in mod_perl), each of these processes might have a different value for this variable, each in its own cache.

Note I have no explanation for the missing subs. This is just an explanation how repeated requests to a web server might change without any reason

To find out if that is the case, apache can be started to use only one server process (with parameter -X, the debug mode). That should prevent the random results and hint at problems with the persistent state of mod_perl