This little script acts as a web server, but it serves only one document no matter what the requested URL was: the document embedded in the script itself. This is useful to throw on a machine in a lab environment to identify who owns it and what it's for. #!/usr/bin/perl use IO::Socket; use strict; # single-document web server # by Tyler Bletsch my $listenPort = 80; my $document = join('',); my $sockListen = new IO::Socket::INET (LocalPort => $listenPort, Proto => 'tcp', Listen => 10, Reuse => 1); die "Could not create socket: $!\n" unless $sockListen; #print "Listening on port $listenPort.\n"; while (1) { #print "Waiting to accept on port $listenPort...\n"; my $sockClient = $sockListen->accept(); # Get next client scalar <$sockClient>; # humor the client; read one line of request before responding. print $sockClient "HTTP/1.0 200 Okay, pal\n"; print $sockClient "Content-type: text/html\n\n"; print $sockClient $document; close $sockClient; } __DATA__ Your document goes here!