#!/usr/bin/perl -w use strict; use IO::Socket; use IO::Select; my $sock=new IO::Socket::INET (Localhost => '127.0.0.1', LocalPort => '4000', Proto => 'tcp', Listen => 5, ReuseAddr => 1, ); die "Socket could not be created. Reason $!" unless $sock; my $select = IO::Select->new(); $select->add($sock); while (my @sockets = $select->can_read()) { for my $incoming (@sockets) { if ($incoming == $sock) { my $new_sock = $incoming->accept; $select->add($new_sock); } else { print "new guy calling: $incoming\n"; } } } close($sock);