end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転します

Net::SMTPはnew()時の名前解決に失敗すると、 Invalid argument

#!/usr/local/bin/perl
use strict;
use utf8;
use Authen::SASL;
use Net::SMTP;

main();

sub main {
    my $smtp = Net::SMTP->new(
			      'hogehoge.jp',
			      Hello=>'hogehoge.jp',
			      Port=>587,
			      Timeout=>20,
			      Debug=>1
			     );
    die "can't connect smtp server: $!"	unless $smtp;
    print "success connect smtp server\n";
}

と、ありもしない smtpサーバを指定して実行すると、

[endo@colinux batch]$ ./foo2.pl 
can't connect smtp server: Invalid argument at ./foo2.pl line 18.

「Invalid argument」というメッセージでは、デバッグしづらい