# This is important:
$Email::Verify::SMTP::FROM = 'webmaster@$hostnm';
I just noticed this statement from the OP. I haven't looked at Email::Verify::SMTP to figure out what setting this variable is supposed to do, but I just want to point out another potential single-quote vs double-quote interpolation problem.
If the quoted statement is correct as it stands, fine. If a double-quoted string should actually be used, be aware that @arrays double-quote interpolate:
c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -le
"my $hostnum = [ qw(array elements will double-quote interpolate) ];
dd $hostnum;
;;
my $scalar = qq{webmaster@$hostnum};
print qq{>$scalar<};
"
["array", "elements", "will", "double-quote", "interpolate"]
>webmasterarray elements will double-quote interpolate<
In this example, I have made $hostnum an array reference. If it is not, you should get a message like
c:\@Work\Perl\monks>perl -wMstrict -le
"my $hostnum = 'not an array reference';
my $scalar = qq{webmaster@$hostnum};
print qq{>$scalar<};
"
Can't use string ("not an array reference") as an ARRAY ref while "str
+ict refs" in use at ...
if you have enabled warnings and strict in your code! If you have not enabled these important Perl protective measures (and as a Perl novice, you always should), Perl will happily give you something like
c:\@Work\Perl\monks>perl -le
"my $hostnum = 'not an array reference';
my $scalar = qq{webmaster@$hostnum};
print qq{>$scalar<};
"
>webmaster<
Again, I have no idea what the quoted code should really be doing. I just want to alert you to another possible problem.
Note that in my code examples, I use qq{...} in place of the "..." double-quote operator. I do this because of the way the Windoze command line (mis)handles " (double-quote) characters. See Quote and Quote-like Operators in perlop for info on all Perl quoting operators.
Some more very useful reading is toolic's Basic debugging checklist.
Give a man a fish: <%-{-{-{-<
|