Apache::PerlSections - Utilities for work with <Perl> sections
use Apache::PerlSections ();
It is possible to configure you server entirely in Perl using <Perl> sections in httpd.conf. This module is here to help you with such a task.
This method will dump out all the configuration variables mod_perl
will be feeding the the apache config gears. The output is suitable
to read back in via eval
.
Example:
<Perl>
use Apache::PerlSections ();
$Port = 8529;
$Location{"/perl"} = { SetHandler => "perl-script", PerlHandler => "Apache::Registry", Options => "ExecCGI", };
@DocumentIndex = qw(index.htm index.html);
$VirtualHost{"www.foo.com"} = { DocumentRoot => "/tmp/docs", ErrorLog => "/dev/null", Location => { "/" => { Allowoverride => 'All', Order => 'deny,allow', Deny => 'from all', Allow => 'from foo.com', }, }, };
print Apache::PerlSections->dump;
</Perl>
This will print something like so:
package Apache::ReadConfig; #scalars:
$Port = 8529;
#arrays:
@DocumentIndex = ( 'index.htm', 'index.html' );
#hashes:
%Location = ( '/perl' => { PerlHandler => 'Apache::Registry', SetHandler => 'perl-script', Options => 'ExecCGI' } );
%VirtualHost = ( 'www.foo.com' => { Location => { '/' => { Deny => 'from all', Order => 'deny,allow', Allow => 'from foo.com', Allowoverride => 'All' } }, DocumentRoot => '/tmp/docs', ErrorLog => '/dev/null' } );
1; __END__
This method will call the dump
method, writing the output
to a file, suitable to be pulled in via require
.
Example:
Apache::PerlSections->store("httpd_config.pl");
require 'httpd_config.pl';
mod_perl(1), Data::Dumper(3), Devel::Symdump(3)
Doug MacEachern