PerlModule Apache2::Module
PerlPostConfigRequire @ServerRoot@/conf/post_config_startup.pl
### --------------------------------- ###
use Apache::Test ();
if (Apache::Test::have_module('mod_alias.c')) {
push @Alias, ['/perl_sections', '@DocumentRoot@'];
$Location{'/perl_sections'} = {
'PerlInitHandler' => 'ModPerl::Test::add_config',
'AuthType' => 'Basic',
'AuthName' => 'PerlSection',
'PerlAuthenHandler' => 'TestHooks::authen_basic',
};
}
#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__;
$Apache2::PerlSections::Save = 1;
$TestDirective::perl::filename = __FILE__;
$TestDirective::perl::dollar_zero = $0;
$TestDirective::perl::line = __LINE__;
#Handle re-entrant sections
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", ('', '$TestDirective::perl::Included++;', '');
close $fh;
$Include = $file;
#Deprecated access to Apache2::ReadConfig:: still works
use Apache::Test ();
if (Apache::Test::have_module('mod_alias.c')) {
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',
};
}
$TestDirective::perl::base_server = Apache2::PerlSections->server;
# make sure that these are set at the earliest possible time
die '$ENV{MOD_PERL} not set!' unless $ENV{MOD_PERL};
die '$ENV{MOD_PERL_API_VERSION} not set!'
unless $ENV{MOD_PERL_API_VERSION} == 2;
$TestDirective::perl::vhost_server = Apache2::PerlSections->server;
### --------------------------------- ###
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
#This used to trigger a segfault on startup
#See http://thread.gmane.org/gmane.comp.apache.mod-perl/22750
PerlSwitches +inherit
PerlOptions +Parent
Perl 1
#Single-line $PerlConfig
if (Apache::Test::have_module('mod_alias.c')) {
$PerlConfig = "Alias /perl_sections_perlconfig_scalar @DocumentRoot@";
}
#Multi-line $PerlConfig
if (Apache::Test::have_module('mod_alias.c')) {
$PerlConfig = "Alias /perl_sections_perlconfig_scalar1 @DocumentRoot@
Alias /perl_sections_perlconfig_scalar2 @DocumentRoot@
";
}
#@PerlConfig
if (Apache::Test::have_module('mod_alias.c')) {
@PerlConfig = ("Alias /perl_sections_perlconfig_array1 @DocumentRoot@",
"Alias /perl_sections_perlconfig_array2 @DocumentRoot@",
);
}