HTTP::Daemon perl

HTTPDが気になった。

      1 use strict;
      2 use warnings;
      3
      4 use HTTP::Daemon;
      5 use HTTP::Status;
      6 use Data::Dumper;
      7 use CGI;
      8 use URI;
      9
     10 my $d = HTTP::Daemon->new(LocalAddr => '127.0.0.1', LocalPort => '5000' ) || die;
     11 print "Please contact me at: <URL:", $d->url, ">\n";
     12 while( my $c = $d->accept ) {
     13     while( my $r = $c->get_request ) {
     14         if($r->method eq "GET" and $r->url->path eq "/hoge") {
     15             my $q = CGI->new( URI->new( $r->uri )->query );
     16             warn Dumper( { map { $_ => $q->param($_) } $q->param } );
     17             $c->send_status_line;
     18         }
     19     }
     20     $c->close;
     21     undef($c);
     22 }

こんなかんじにリクエス

GET "http://localhost:5000/hoge?hoge=100&page=2000"

結果こんなん。

$VAR1 = {
'page' => '100',
'hoge' => '2000'
};

まあ、warnはいてるだけの人だけど。


http://search.cpan.org/~gaas/libwww-perl-5.805/lib/HTTP/Daemon.pm