use HTTP::Daemon; use HTTP::Status; $d = new HTTP::Daemon LocalAddr => 'www.someplace.com', LocalPort => 12345; while (my $c = $d->accept) { while (my $r = $c->get_request) { log( $r ); $c->send_basic_header( 200, 'OK' ); } $c->close; undef $c; } sub log { my $request = shift; # you get the standard request object here, so have a look.... use Data::Dumper; print Dumper $request # do whatever - you can parse out whatever you want from the $request hash }