#!/usr/bin/perl use threads; use IO::Socket::INET; use strict; threads->create(\&listening, 3000); threads->create(\&listening, 3001); ; sub listening { my $port = shift; my $listener = new IO::Socket::INET(Listen => 10, Timeout => 200, LocalPort => $port); while (1) { my $client = $listener->accept(); print "port $port got connection\n"; #do something } }