NAME

Apache::PerlSections - Utilities for work with <Perl> sections

SYNOPSIS

use Apache::PerlSections ();

DESCRIPTION

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.

METHODS

dump

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__
store

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';

SEE ALSO

mod_perl(1), Data::Dumper(3), Devel::Symdump(3)

AUTHOR

Doug MacEachern