PerlModule Apache2::Module

PerlPostConfigRequire @ServerRoot@/conf/post_config_startup.pl

### --------------------------------- ###
<Perl >
push @Alias, ['/perl_sections', '@DocumentRoot@'];
$Location{'/perl_sections'} = {
    'PerlInitHandler' => 'ModPerl::Test::add_config',
    'AuthType' => 'Basic',
    'AuthName' => 'PerlSection',
    'PerlAuthenHandler' => 'TestHooks::authen_basic',
    };
</Perl>

<Perl >
#Test tied %Location
use TestCommon::TiePerlSection ();
tie %Location, 'TestCommon::TiePerlSection';
$Location{'/tied'} = 'test_tied';

$Apache2::PerlSections::Save = 1;
$Location{'/perl_sections_saved'} = {
    'AuthName' => 'PerlSection',
    };
#This is a comment
$TestDirective::perl::comments="yes";
$TestDirective::perl::PACKAGE = __PACKAGE__;
</Perl>

<Perl >
$Apache2::PerlSections::Save = 1;
$TestDirective::perl::filename = __FILE__;
$TestDirective::perl::dollar_zero = $0;
$TestDirective::perl::line =  __LINE__;
</Perl>

#Handle re-entrant <Perl> sections
<Perl >
    use File::Spec;
    my $file = File::Spec->catfile('@ServerRoot@', 'conf', 'perlsection.conf');
    open my $fh, ">$file" or die "Can't open $file: $!";
    print $fh join "\n", ('<Perl >', '$TestDirective::perl::Included++;', '</Perl>');
    close $fh;
    $Include = $file;
</Perl>

#Deprecated access to Apache2::ReadConfig:: still works
<Perl >
push @Apache2::ReadConfig::Alias, 
    ['/perl_sections_readconfig', '@DocumentRoot@'];
$Apache2::ReadConfig::Location{'/perl_sections_readconfig'} = {
    'PerlInitHandler'   => 'ModPerl::Test::add_config',
    'AuthType'          => 'Basic',
    'AuthName'          => 'PerlSection',
    'PerlAuthenHandler' => 'TestHooks::authen_basic',
    };
</Perl>

### --------------------------------- ###
Perl $TestDirective::perl::worked="yes";

### --------------------------------- ###
=pod

The following line is not seen by Apache

PerlSetVar TestDirective__pod_hidden whatever

=over apache

PerlSetVar TestDirective__pod_over_worked yes

=back

This is some more pod

=cut

PerlSetVar TestDirective__pod_cut_worked yes
