When I upgraded from
Solaris Apache/1.3.14 (Unix) mod_perl/1.24_01
to
Solaris Apache/1.3.17 (Unix) mod_perl/1.25
the following code in my debugging httpd.conf broke:
<Perl>
sub WWW_DIR () { $ENV{'HOME'} . '/www' ; } # this sub will persist to next
<Perl>
... more code, using WWW_DIR sometimes
</Perl>
.. more plain apache conf stuff here
<Perl>
$AxCacheDir = WWW_DIR . '/htdocs/x/cache';
</Perl>
While this worked before, it now generates an undef sub called at the second
<Perl>
section. Redefining it there again works, but emits strange prototype
mismatch stuff
at the 2nd <Perl> calling of the routine.
To restore the old behavior I had to define it again without the brackets
(the args
prototype) at the 2nd section.
Was this change intentionally done (why?!), or is it a by-product of some
other code advances?
What is the correct way of passing Perl stuff from one <Perl> section to
another?
Vassilii