Alright. In some more fiddling, it appears that even after setting the ENV{CONTENT_TYPE} correctly with the following lines:
my $post_content = $r->content; my ($boundary) = split(/\n/, $post_content); chop($boundary); $ENV{'CONTENT_TYPE'} = $r->content_type . "; boundary=$boundary";
that section of code (repeated here):
if ($meth eq 'POST' && defined($ENV{'CONTENT_TYPE'}) && $ENV{'CONTENT_TYPE'}=~m|^multipart/form-data| && !defined($initializer) ) {
my($boundary) = $ENV{'CONTENT_TYPE'} =~ /boundary=\"?([^\";,]+)\"?/; $self->read_multipart($boundary,$content_length); last METHOD; }
is not getting called because the $initializer has already been defined. Likewise, $meth seems to be blank. $meth is defined by $ENV{REQUEST_METHOD}, so I've got to set that now too [1]:
$ENV{'REQUEST_METHOD'} = $r->method;
but, I know little about $initializer. When is that undefined? Still investigating. Trudging on and on. Sigh. It's gotta be simpler than this, and I'm just a moron.
[1] Is there a list of environment variables that a webserver is *supposed* to set? Has anyone *ever* used CGI.pm and HTTP:: Daemon together with multi-part forms?
-- Morbus Iff ( i put the demon back in codemonkey ) Culture: http://www.disobey.com/ and http://www.gamegrene.com/ Spidering Hacks: http://amazon.com/exec/obidos/ASIN/0596005776/disobeycom icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus