--- On Tue, 9/16/08, Himanshu <[EMAIL PROTECTED]> wrote:

> From: Himanshu <[EMAIL PROTECTED]>
> Subject: Why load two modules to call methods on the same object?
> To: modperl@perl.apache.org
> Date: Tuesday, September 16, 2008, 9:00 PM
> For the following to work I must load Apache2RequestRec as
> well as
> Apache2::RequestIO.
> 
> package GS;
> use Apache2::Const -compile => ':common';
> use Apache2::RequestRec ();# $r->content_type
> use Apache2::RequestIO ();   # $r->print
> 
> sub handler {
>    my $r = shift;
>    print $r->content_type('text/plain');
>    print $r->print("hello, world");
>    return Apache2::Const::OK;
> }
> 
> 1;
> 
> There must be a reason we have it this way. Any clues?
> 
> Thanks,
> Himanshu


<rant>
I've been coding with mod_perl since 2000 (IIRC) and I don't have a 
straightforward answer for you.

I suppose it's possible that rather than load up all the "non-core" behaviors 
(like, you know, really strange ones that nobody ever uses, like "print") you 
have to load those modules yourself.

Just keep repeating to yourself, "This is to make mod_perl faster."
</rant>

One advantage you get by having to load up those modules yourself is that you 
can (in theory) shave off an extra millisecond or two.  Somehow magickally.

I wish mod_perl handlers were a bit more intuitive myself.  The whole thing 
just seems very un-Perlish.  Probably because it's just a very thin layer 
around the Apache API.

Go figure.










      

Reply via email to