in reply to Checking Port Open or Close

That's not the right way. You can only know whether a remote UDP port is "open" or "closed" (I assume you mean with "open" is "I don't get a rejection message when trying to connect to it", and "closed" the opposite) by sending something to it. Remember, UDP is a connection less protocol. Creating the socket just sets up your local site - success here just means it's ready to send something for you. It doesn't say anything about the remote site. That is, if IO::Socket::INET->new() fails, doesn't mean that "192.168.1.1:162" isn't 'open'. Nor does it mean that "192.168.1.1:162" is 'open' if IO::Socket::INET->new() succeeds.