perl 5.12.3, httpd-2.2.16, mod_perl 2.0.5, RHEL5

This is part of a project to move a large a large-ish mod_perl application from 
mod_perl1 to 2. It's about time!

Most of the httpd.conf is read by setting $PerlConfig equal to the output of a 
HTML::Template in a <Perl> section.

Using a Cleanup handler and Apache2::Directive, I can see that only some 
PerlPassEnv, PerlOptions => '+GlobalRequest' and the <Perl> section which reads 
the template are defined, i.e. no locations or directives from the output of 
the template.

If I cut and paste the output of the template into httpd.conf, things work fine.

I've tried a few things.

my $r = Apache2::RequestUtil->request;
$r->add_config($template->output);

Which gets me

Syntax error on line 66 of /home/web/rosalind-dev9/etc/httpd/httpd.conf:
\t(in cleanup) Global $r object is not available. Set:\n\tPerlOptions 
+GlobalRequest\nin httpd.conf at /home/web/rosalind-dev9/etc/httpd/httpd.conf 
line 116.\n

This seems odd to me, because +GlobalRequest is set before the <Perl> section, 
and is clearly set when I check Apache2::Directive in Cleanup.

And, per this six year old bug report, 
http://www.gossamer-threads.com/lists/modperl/modperl/88339, I tried a begin 
block that redefines Apache2::PerlSections's dump_special in conjunction with 
lines like

@PerlConfig = split /\n/, $template->output;

Printing the contents of $template->output to the error log inside the <Perl> 
section produces what I expect.

If I simply cut and paste the template output into the httpd.conf, it works 
fine.

Any suggestions how I can fix this?





Josh Narins
Director of Application Development
SeniorBridge

845 Third Ave
7th Floor
New York, NY 10022
Tel: (212) 994-6194
Fax: (212) 994-4260
Mobile: (917) 488-6248
jnar...@seniorbridge.com
seniorbridge.com<http://www.seniorbridge.com/>

[http://www.seniorbridge.com/images/seniorbridgedisclaimerTAG.gif]


________________________________
SeniorBridge Statement of Confidentiality: The contents of this email message 
are intended for the exclusive use of the addressee(s) and may contain 
confidential or privileged information. Any dissemination, distribution or 
copying of this email by an unintended or mistaken recipient is strictly 
prohibited. In said event, kindly reply to the sender and destroy all entries 
of this message and any attachments from your system. Thank you.

Reply via email to