On Fri, 16 Jun 2000, Jim Winstead wrote:
> On Jun 15, Tom Mornini wrote:
> > I have recently noticed two issues with Apache::Request and thought I'd
> > run them by the list before I began hacking and diffing for Doug.
> >
> > 1) $ar->param without parameters has different behaviour than CGI.pm
> >
> > Apache::Request returns a reference, CGI.pm returns a list of
> > parameters.
>
> Are you sure about this? I do this all over the place and it
> works as documented for me.
As documented? As I pointed out before, the documentation is not clear. It
never shows $ar->param being called with no arguments in scalar context...
Am I sure? Try this code in a Registry script for yourself.
use strict;
use Apache;
use Apache::Request;
my $r = Apache->request;
my $ar = Apache::Request->new($r);
$ar->send_http_header;
print scalar($ar->param);
The result? Apache::Table=HASH(0x990ae38) (!)
This makes this use:
if ( $ar->param ) {
# Process Form Input
} else {
# First time through!
}
# display page
impossible. This works fine with CGI.pm
> > 2) [Thu Jun 15 21:09:49 2000] [error] [client 10.50.2.57] [libapreq]
> > unknown content-type: `application/x-www-form-urlencoded;
> > charset=utf-8'
>
> This could probably be fixed by changing the strEQ(ct, DEFAULT_ENCTYPE)
> to ststr(ct, DEFAULT_ENCTYPE) in c/apache_request.c on line 204. (The
> test for multipart/form-data does this. Don't know why this one is more
> strict.)
This is great! I'll give it a try.
--
-- Tom Mornini
-- InfoMania Printing and Prepress