Issac Goldstand wrote:
Issac Goldstand wrote:Jonathan Vanasco wrote:On Jan 14, 2007, at 6:45 PM, Fred Moyer wrote:But it's really much easier to use CGI :)There's also libapreqOK - so out of the corner of my eye, I saw the link again as the previous mail was being copied to my sent-mail and noticed that it said RequestRec::args and not Request::args. So I put my foot in my mouth :-) As Jonathan correctly said, there's also libapreq: http://httpd.apache.org/apreq/docs/libapreq2/modules.htmlBoy, I'm on a roll this morning. The "previous email" ended up going to Jonathan only and not to the entire list. The important part of it [other than me incorrectly stating that http://perl.apache.org/docs/2.0/api/Apache2/RequestRec.html#C_args_ was a link to libapreq :-)] was: 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!).
I'm working on a project right now where I'm optimizing some request handlers which use CGI under modperl. I'm using Apache::DProf to profile the handlers, and the request parameter handling calls under CGI are a significant component of the processing time (haven't profiled the memory distribution). I'm planning to use libapreq to speed up the handlers - I'll ask for permission to post the results. I know it will be a lot faster but it should be interesting to see the numbers.
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.