use strict; use warnings; use Carp; use IO::Socket; use Smart::Comments; # hostname and port of server to query my $hostname = '88.191.48.146:27888'; ### Creating socket... my $sock = new IO::Socket::INET( PeerAddr => $hostname, LocalAddr => 'localhost', Proto => 'udp', ) or croak "can't bind: $@\n"; # die unless socket is verifiably connected if(! defined $sock->connected) { croak 'socket failed to connect'; } # build query string my $query_string = sprintf "\xFE\xFD\x00%s\xFF\xFF\xFF", 'RTFM'; ### Sending query string... $sock->print($query_string); ### Retrieving result... my $response; while(<$sock>) { $response .= $_; } ### Closing socket... $sock->close; ### We're done here, exit... exit;