use IO::Socket; my $port = 9000; # set up a new server running on $port my $server = IO::Socket::INET->new( Proto => 'tcp', LocalPort => $port, Reuse => 1) or die "Can't start server"; # sit in a loop and wait for connections while ($client = $server->accept()) { # handle client # .... # done with client, so close up connection close $client; }