our %hex_chr;
-BEGIN {
- for my $num ( 0 .. 255 ) {
- my $h = sprintf "%02X", $num;
- $hex_chr{ lc $h } = $hex_chr{ uc $h } = chr $num;
- }
+for my $num ( 0 .. 255 ) {
+ my $h = sprintf "%02X", $num;
+ $hex_chr{ lc $h } = $hex_chr{ uc $h } = chr $num;
}
=head1 NAME
return unless $self->length == $self->content_length;
- $self->{buffer} =~ tr/+/ /;
+ # I tested parsing this using APR::Request, but perl is faster
+ # Pure-Perl 2560/s
+ # APR::Request 2305/s
+
+ # Note: s/// appears faster than tr///
+ $self->{buffer} =~ s/\+/ /g;
- for my $pair ( split( /[&;]/, $self->{buffer} ) ) {
+ for my $pair ( split( /[&;](?:\s+)?/, $self->{buffer} ) ) {
- my ( $name, $value ) = split( /=/, $pair );
+ my ( $name, $value ) = split( /=/, $pair , 2 );
next unless defined $name;
next unless defined $value;
=back
-=head1 AUTHOR
+=head1 SUPPORT
+
+See L<HTTP::Body>
+
+=head1 AUTHORS
Christian Hansen, C<ch@ngmedia.com>
+Andy Grundman, C<andy@hybridized.org>
+
=head1 LICENSE
This library is free software . You can redistribute it and/or modify