From your question, I assume that you are a beginner in Perl. In this case, I recommend that you add
use diagnostics; in addition to
strict and
warnings. It will give you more information about the messages.
%dns_check = ("address" => "ip");
You should always "declare" your variables, to tell Perl whether you want to have a lexically scoped or a globally scoped variables. For the time being (until you get more experience), I suggest you use only lexically scoped variables. You declare it using
my:
my %dns_check = ("address" => "ip");
See
my.
--
Ronald Fischer <ynnor@mm.st>