in reply to ping problem

Hi! I'd suggest that you simply create a socket connection to the port you want to check. If the connection succeeds, close it. If not, it's down. Example;
use IO::Socket; $socket = eval { return IO::Socket::INET->new( Proto => "tcp", PeerAddr => $addr, PeerPort => $port, Reuse => 1, Timeout => 10) or return undef; }; if ($socket) { print "Port open\n"; eval { return $socket->close; }; return 1; } else { print "Port NOT open\n"; return undef; }