#!/usr/bin/perl -w use HTTP::Daemon; use warnings; use strict; $HTTP::Daemon::DEBUG =1; my $page = "Hello World!"; my $httpresponsestr = "HTTP/1.1 200 OK\nConnection: close\nDate: Sat, 16 Oct 2010 04:41:51 GMT\nCache-Control: no-store, no-cache, must-revalidate\nContent-Length: ".length($page)."\n\n".$page; $| = 1; my $d = HTTP::Daemon->new (LocalPort => 80) || die "server died"; print "Please contact me at: url, ">\n"; while (my $c = $d->accept) { my $pid = fork(); #my $pid = 0; if(!defined($pid)) {die "Fork failed."} elsif ($pid == 0) { my $sn; $sn = $c->sockaddr; $sn = $c->sockname; my $r = $c->get_request; print "after get_request r\n"; if ($r->method eq 'GET') { print "is a get\n"; $c->print($httpresponsestr); } else { print "forbidden"; $c->send_error(RC_FORBIDDEN()); } $c->close; print "closed\n"; #comment this out when fork disabled exit(0); } print "fork parent out\n"; }