Basically:
I have a RewriteRule whose major function is to set an ENV variable (PACKAGE) dependent on the Host: header before invoking a CGI.
The output of this CGI gets passed through a filter, viz:
PerlModule Foo AddHandler cgi-script .cgi <Directory "/foo/cgi/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all PerlOptions +SetupEnv PerlOutputFilterHandler Foo </Directory>
And then Foo.pm has a handler(), viz:
sub handler { my $f = shift; $f->r->subprocess_env; my $p = $ENV{PACKAGE}; ...
}
And I get:
[Mon Mar 14 12:25:24 2005] [error] [client 192.168.1.107] Can't locate object method "subprocess_env" via package "Apache::RequestRec" at Foo.pm line 22.
If I leave the subprocess_env call out, it all works except (obviously) %ENV doesn't get populated.
What am I missing?
(Debian apache2 2.0.53, mod_perl 1.999.20)