- Perlについての質問箱 64箱目 [転載禁止]©2ch.net
551 :sage[]:2015/10/22(木) 15:33:23.66 ID:qmntQeh8 - メールアドレスチェックのために、
メジャーどころのEmail::Valid::Looseを使用しているのですが、 サーバーを移転(CentOS 5.3-perl 5.8からCentOS 6.7-perl 5.1)しましたところ、 500エラーとなり動作しなくなってしまいました。 エラー内容は、 Can't call method "answer" on an undefined value at /usr/local/share/perl5/Email/Valid.pm line 153. で、該当部分は下記の通りです。 ※Net::DNSはインストール済みです。 digやnslookupも正常に動いていて、いろいろと勉強はしてみたのですが、 はまってしまいました。 原因と解決法を教えてくださいませ。
|
- Perlについての質問箱 64箱目 [転載禁止]©2ch.net
552 :デフォルトの名無しさん[sage]:2015/10/22(木) 15:37:36.42 ID:qmntQeh8 - 551です。
(すみません、上がってしまいました) Valid.pm の153行目近辺です。 131 sub _select_dns_method { 132 # Configure a global resolver object for DNS queries 133 # if Net::DNS is available 134 eval { require Net::DNS }; 135 return $DNS_Method = 'Net::DNS' unless $@; 136 137 $DNS_Method = 'nslookup'; 138 } 139 140 # Purpose: perform DNS query using the Net::DNS module 141 sub _net_dns_query { 142 my $self = shift; 143 my $host = shift; 144 145 $Resolver = Net::DNS::Resolver->new unless defined $Resolver; 146 147 my @mx_entries = Net::DNS::mx($Resolver, $host);
|
- Perlについての質問箱 64箱目 [転載禁止]©2ch.net
553 :デフォルトの名無しさん[sage]:2015/10/22(木) 15:38:21.36 ID:qmntQeh8 - 551です。
148 149 if (@mx_entries) { 150 foreach my $mx (@mx_entries) { 151 my $mxhost = $mx->exchange; 152 my $query = $Resolver->search($mx); 153 foreach my $a_rr ($query->answer) { 154 return 1 unless $a_rr->type ne 'A'; 155 } 156 } 157 } 158 159 return $self->details('mx'); 160 }
|