#! /opt/csw/bin/perl use warnings; use strict; use IO::Socket; use threads; sub doWork { my $conn = shift; my $thread = threads->self(); $thread->detach(); $| = 1; print $conn "enter your input: "; chomp(my $userInput = <$conn>); print $conn "got your input : $userInput\n"; $conn->close(); } my $sock = IO::Socket::INET->new(LocalPort => 14000, Listen => 20, ReuseAddr => 1, Proto => 'tcp', ); die "unable to create listening socket: $@" unless($sock); warn "listening...\n"; while(my $conn = $sock->accept()) { threads->create(\&doWork, $conn); }