#!/usr/bin/perl use IO::Socket; $SIG{CHLD} = sub {wait()}; $main_sock = new IO::Socket::INET( LocalHost => 'b5', LocalPort => 6666, Listen => 5, Proto => 'tcp', Reuse => 1) or die $!; $line = ""; while ($new_sock = $main_sock->accept()) { $pid = fork(); die "Cannot fork: $!" unless defined($pid); if ($pid == 0) { # Child process while (defined ($buf = <$new_sock>)) { print "Client said: $buf\n"; } exit(0); } else { $line = ; print $new_sock "$line"; } }