#! perl -slw use strict; use threads stack_size => 4096; use IO::Socket; $\ = $/ = chr(13).chr(10); my $lsn = IO::Socket::INET->new( Reuse => 1, Listen => 1e6, LocalPort => 12345 ) or die "Server failed to create listener: $^E"; print "Server listener created"; while( my $client = $lsn->accept ) { print "Server accepting client connection"; async { while( my $in = <$client> ) { chomp $in; print $client $in + 1; printf "\rServer echoing client input: '%s'", $in; } print "Server shutting down"; shutdown $client, 2; close $client; }->detach; }