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
