Apache::PerlSections(3p)

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