$socks[0] = IO::Socket::INET->new(LocalAddr => "10.153.22.0", LocalPort => 0x8320, Broadcast => 1, Proto => 'udp' ) or die "Can't bind\n"; $socks[1] = IO::Socket::INET->new(LocalAddr => "10.153.22.0", LocalPort => 0x8321, Broadcast => 1, Proto => 'udp' ) or die "Can't bind\n"; foreach $socket (@socks) { $socketSet->add($socket); } while ( @ready = $socketSet->can_read ) { foreach $fh ( @ready ) { $fh->recv($buf,1500); # I've tried a sysread as well # do something with it; print "$buf\n"; } }