use strict; use warnings; use IO::Socket; use IO::Select; my $sock = IO::Socket::INET->new( Proto=>"tcp", LocalHost=>"localhost", Listen=>16, Reuse=>1, LocalPort=>3000 ) or die("Could not create socket!\n"); my $connection = $sock->accept(); my $readSet = new IO::Select(); $readSet->add($connection); while(1) { my @rhSet = IO::Select->select($readSet, undef, undef, 0); foreach my $rh (@{$rhSet[0]}) { my $buf=<$rh>; if($buf) { printf "$buf"; } else { $readSet->remove($rh); close($rh); } } }