use IO::Socket::Multicast;
my ($ip,$port) = @ARGV;
$ip and $port or die "Usage $0: <ip> <port>\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;
}