use strict; use IO::Socket; my $socket=IO::Socket::INET->new(LocalAddr => 'localhost', LocalPort => 2224, Proto => 'udp') or die "socket: $!"; while ((my $length=sysread($socket, my $buffer, 65536)) != 0) { die "sysread: $!" if (!defined($length)); # $buffer contains the received packet }