sub read_from_client { my($self, $buff, $len, $offset) = @_; local $^W=0; # prevent a warning return $MOD_PERL ? $self->r->read($$buff, $len, $offset) : read(\*STDIN, $$buff, $len, $offset); } #### *** CGI.pm~ 2003-12-12 15:09:45.000000000 -0800 --- CGI.pm 2003-12-12 15:12:29.000000000 -0800 *************** *** 551,558 **** } if ($meth eq 'POST') { ! $self->read_from_client(\$query_string,$content_length,0) ! if $content_length > 0; # Some people want to have their cake and eat it too! # Uncomment this line to have the contents of the query string # APPENDED to the POST data. --- 551,565 ---- } if ($meth eq 'POST') { ! if($content_length > 0) { ! my $len = $content_length; ! while ($len > 0) { ! my $data = ''; ! my $read = $self->read_from_client(\$data,$content_length,0); ! $len -= $read; ! $query_string .= $data if $read > 0; ! } ! } # Some people want to have their cake and eat it too! # Uncomment this line to have the contents of the query string # APPENDED to the POST data.