#!/usr/bin/perl use IO::Socket; foreach $request (@ARGV) { $MAXLEN = 1024; $PORTNO = 5151; $TIMEOUT = 5; #$request = "198.59.115.12:25"; $server_host = "kona.swcp.com"; $sock = IO::Socket::INET->new(Proto => 'udp', PeerPort => $PORTNO, PeerAddr => $server_host) or die "Creating socket: $!\n"; $sock->send($request) or die "send: $!"; eval { local $SIG{ALRM} = sub { die "alarm time out" }; alarm $TIMEOUT; $sock->recv($reply, $MAXLEN) or die "recv: $!"; alarm 0; 1; } or die "recv from $server_host timed out after $TIMEOUT seconds.\n"; print $reply; sleep 5; }