On Sat, 2004-01-17 at 15:55, Stas Bekman wrote: > gerard uolaquetalestem wrote: > > You were right, now i have this that works > > > > PerlModule Apache2 > > ----------------------------------- > > <Perl > > > $Location{'~ .*log$'} = { > > SetHandler => "perl-script", > > PerlResponseHandler => "Blogum::UserLog", > > PerlOptions => "+ParseHeaders", > > Allow => "from all", > > }; > > </Perl> > [...] > > But now it doesn't work: > > PerlRequire ...archive.pl > > > > inside archive.pl > > use Apache2(); > > $Location{'~ .*log$'} = { > > SetHandler => "perl-script", > > PerlResponseHandler => "Blogum::UserLog", > > PerlOptions => "+ParseHeaders", > > Allow => "from all", > > }; > > > > I've tried also with LocationMatch. Anything i'm doing wrong? > > You mean you have moved the contents of that <Perl> section to a perl file and > expect it to work? It has no idea what %main::Location is. It needs to be in > the special Apache::ReadConfig namespace. like: > > $Apache::ReadConfig::Location{.... > > though I think Philippe has changed things recently and I'm not sure whether > the above will work.
Yes, this is still the way to do it for now. It should be considered somewhat deprecated, but still works. > Philippe, what's the current state of things with perl section namespaces, > when people want to add config from perl, rather than <Perl> sections? Should > they do something like: > > my $file = __FILE__; > my $namespace = "Apache::ReadConfig\::$file"; > ${"$namespace\::Location"}{foo} = {...}; > > We need to document this issue. No need for this, really. In the near future, playing directly with %Apache::ReadConfig:: _will_ be deprecated and issue a warning of some sort. But before that will happen, there will be a nice way to feed hashes-like configuration like: $Location{'~ .*log$'} = { SetHandler => "perl-script", PerlResponseHandler => "Blogum::UserLog", PerlOptions => "+ParseHeaders", Allow => "from all", }; Apache::PerlSection->read_hash(\%Location); See the full thread about this future feature here: http://marc.theaimsgroup.com/?t=107100040400003&r=1&w=2 > But, Gerard, this should work for sure: > > use Apache::ServerUtil (); > my $config = <<EOI; > <Perl > > $Location{'~ .*log$'} = { > SetHandler => "perl-script", > PerlResponseHandler => "Blogum::UserLog", > PerlOptions => "+ParseHeaders", > Allow => "from all", > }; > </Perl> > EOI > Apache->server->add_config([split /\n/, $config]); > > all it does is feeding the config section to the server, as if it was written > in httpd.conf. > > __________________________________________________________________ > Stas Bekman JAm_pH ------> Just Another mod_perl Hacker > http://stason.org/ mod_perl Guide ---> http://perl.apache.org > mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com > http://modperlbook.org http://apache.org http://ticketmaster.com -- -------------------------------------------------------------------------------- Philippe M. Chiasson /gozer\@(cpan|ectoplasm)\.org/ 88C3A5A5 (122FF51B/C634E37B) http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3 A5A5 Q: It is impossible to make anything foolproof because fools are so ingenious. perl -e'$$=\${gozer};{$_=unpack(P7,pack(L,$$));/^JAm_pH\n$/&&print||$$++&&redo}'
signature.asc
Description: This is a digitally signed message part