use IO::Select; use IO::Socket::INET; use warnings; use strict; print "started\n"; my $c = IO::Socket::INET->new(Proto => "tcp", PeerAddr => "localhost", PeerPort => 1234); print "connected\n"; my $sel = IO::Select->new($c); my $msg; my @r; while (1) { if (@r = $sel->can_read(0)) { $r[0]->recv($msg, 1024); print time() . " $msg" . "\n" } else { print time() . " one loop\n"; } sleep(1); }