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@", ); }