http://search.cpan.org/perldoc?HTTP::Body
HTMLのパーサは HTML::Parser ( http://search.cpan.org/perldoc?HTML::Parser )しか知りませんでしたが、HTTP::Body は気楽?に解析できてよいかも。
use HTTP::Body; sub handler : method { my ( $class, $r ) = @_; my $content_type = $r->headers_in->get('Content-Type'); my $content_length = $r->headers_in->get('Content-Length'); my $body = HTTP::Body->new( $content_type, $content_length ); my $length = $content_length; while ( $length ) { $r->read( my $buffer, ( $length < 8192 ) ? $length : 8192 ); $length -= length($buffer); $body->add($buffer); } my $uploads = $body->upload; # hashref my $params = $body->param; # hashref my $param_order = $body->param_order # arrayref my $body = $body->body; # IO::Handle }