Fred Moyer wrote: >> Issac Goldstand wrote: >> I personally never liked using CGI with mod_perl; if I'm going through >> the trouble of writing optimized handlers to make my application that >> much faster, why use a pure-perl solution that needs to do full parsing >> in perl-land, when a lighter-weight C-based alternative is available >> that takes full advantage of Apache's internal I/O handling inside the >> server already? >> >> So it's a bit of a learning curve. So what? You learned mod_perl's ins >> and outs already - libapreq is significantly easier to grasp IMHO. > > I agree it's much more powerful, and it is my power tool of choice :) In > the original context of the question though, the poster was asking how > to grab the the query string arguments. In that situation where someone > is not familiar with the basic operations of request parameter handling, > I would recommend CGI because it's a lot easier to get the desired > result quickly, which I think is important for someone learning > modperl. CGI is installed on most systems, and while that extra speed > from libapreq is nice, I've seen the libapreq install trip up beginners > (and a few experts from time to time, including myself!).
When libapreq2 was being developed, we realized that the learning curve for the new interfaces (APR::Request::xxx) might be tricky for some people to get the hang of (especially if they were used to the old libapreq1 way of doing things), so Apache2::Request was added to make things simple and as backwards-compatible as possible. How would you envision it being simpler than it currently is? Instead of doing: my $q=CGI->new; my $param=$q->param('foo'); One needs to do: my $req=Apache2::Request->new($r); my $param=$req->param('foo'); I still fail to see the difficulty... If someone can think of an even simpler way, I'd be all for getting it included in future libapreq releases... Issac