I can see three possibilities.
You don't actually have a module.
As I define a module, it must have its own namespace and placed there using a package statement.
The runs are in different Apache processes.
Apache has many children to handle requests. Loading a module in one won't load it in the others (unless you load it in the mod_perl startup script).
The module is loaded, but the symbols haven't been imported into the current namespace.
use Some::Such; has two effects: require and import. A module only needs to be required once. (Subsequent calls to require are no-ops.) But you need to call import from each namespace into which you want to import.
Apache also restarts its children from time to time.
In reply to Re^3: 'use' falls out of scope at runtime
by ikegami
in thread 'use' falls out of scope at runtime
by arpx
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |