Thanks for pointing me in that direction. While <Perl > did not work as you suggested (produced error 'no <Perl> handler specified'), it did cause me to grep for this error message, and it is in file src/modules/perl/modperl_cmd.c. I was able to get some information from that code: mod_perl wants directive of the form <Perl handler=Some::Handler> where Some::Handler actually looks like a valid handler, i.e. has a subroutine called handler(). The module is compiled and handler() is called during config parse time. Unfortunately, I could not figure out how to set Apache directives from that subroutine. Simply setting global $ServerAdmin does not produce the desired effect. Is there a global Apache config namespace or hash?
Also, my httpd.conf has things like this: <Perl> $PerlConfig = " <VirtualHost _default_:$ssl_port> # some directives here. </VirtualHost> "; </Perl> I am at a loss as to how I'd go about replicating these dynamically generated directives in the new mod_perl model. Eagerly waiting for suggestions, - Dmitri. On 8 Jan 2003, Philippe M. Chiasson wrote: > On Wed, 2003-01-08 at 00:56, Dmitri Tikhonov wrote: > > > > Hi, > > Simply put, there is a small difference in behaviour (bug) in apache's > config parsing code. For now, just put > <Perl > instead of <Perl> > > Apache assumes <> containers to always have a value argument, like in > <Foo /var>. > > Will eventually be fixed though. > > > I am in the process of converting to Apache2/mod_perl2. My old httpd.conf > > file contains these lines (stuff in the middle omitted): > > > > ------------------------------------------------- > > LoadModule perl_module /usr/libexec/mod_perl.so > > <Perl> > > $ServerAdmin = 'admin@'.`hostname`; > > </Perl> > > ------------------------------------------------- > > > > After LoadModule directive, I added this line: > > > > ------------------------------------------------- > > PerlRequire /etc/httpd/conf/startup.pl > > ------------------------------------------------- > > > > (taken straight from ./docs/user/config/config.pod of mod_perl > > distribution) and uncommented 'use Apache::compat' line. > > > > When I start apache, I see this error: > > > > ------------------------------------------------- > > [root@audrey conf]# /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf > > Syntax error on line 90 of /etc/httpd/conf/httpd.conf: > > <Perl> directive missing closing '>' > > [root@audrey conf]# > > ------------------------------------------------- > > > > I only found this recent thread -- > > http://www.mail-archive.com/dev@perl.apache.org/msg03485.html -- I think > > it talks about <Perl> directive support not being finished (?) Is that > > correct? Documentation on <Perl> section is empty > > >(http://perl.apache.org/docs/2.0/user/config/config.html#C_E_lt_PerlE_gt___Sections). > > > > I have no idea what's going on. What am I missing? Is there another set > > of documentation that explains this behavior? > > > > My setup: apache 2.0.43, mod_perl 1.99_07. > > > > Thanks in advance. > > > > - Dmitri. > > > > > -------------------------------------------------------------------------------- > Philippe M. Chiasson /gozer\@(cpan|ectoplasm)\.org/ 88C3A5A5 > (122FF51B/C634E37B) > http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 > 88C3 A5A5 > Q: It is impossible to make anything foolproof because fools are so > ingenious. > perl > -e'$$=\${gozer};{$_=unpack(P7,pack(L,$$));/^JAm_pH\n$/&&print||$$++&&redo}' >