use IO::Select; use IO::Socket::INET; use warnings; use strict; my $s = IO::Socket::INET->new(Proto => "tcp", LocalAddr => "localhost", LocalPort => 1234, Listen => 10); print "waiting...\n"; my $c = $s->accept(); print "connected\n"; while (1) { $c->send("abc"); sleep(3); } #### 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); } #### 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 $msg; while (1) { $c->recv($msg, 1024); print time() . " one loop\n"; }