use IO::Socket::Multicast; my ($ip,$port) = @ARGV; $ip and $port or die "Usage $0: \n"; # create a new UDP socket and add a multicast group my $socket = IO::Socket::Multicast->new( LocalPort => $port, ReuseAddr => 1 ); $socket->mcast_add($ip); while($socket->recv($data,1024)) { $data =~ s/^.{8}//; print $data; }