【发布时间】:2014-10-16 15:00:05
【问题描述】:
Stackoverflow 社区,
我是 PERL 脚本的新手,需要帮助 [此脚本的一部分来自 Internet 来源] 对文件中的 IP 地址列表进行 nslookup 并循环遍历每个地址,直到完成。如果域名不存在则执行 X,如果存在则执行 Y。
以下信息:
-existent - is a key word when nslookup aborts
name - is a key word when it works
listofhosts - is my ip address list
非常感谢您的任何帮助
#!/usr/bin/perl
#!c:\perl64\bin
use strict;
use warnings;
my $noname=-existent;
my $name=name;
open IPADDRESSES,("c:\\perl64\\scripts\\listofhosts.txt") or die("File could not be opened :$!");
my @list=<IPADDRESSES>;
foreach my $list(@list);
my $results=`nslookup $list`;
CHOMP ($list);
if ($noname) {
print ("no name")}
elsif ($name){
print ("IP address $list:\n");
print ("=\n");
print ("DNS name:$results\n");
}
close (IPADDRESSES);
【问题讨论】:
-
您的脚本在运行时会返回错误。您是否尝试过纠正这些错误?
-
欢迎使用 SO 和 Perl。您的脚本有两个语法错误。第 8 行的裸词“名称”。第 12 行没有块的 for 循环。可能应该先解决代码中的问题,然后编辑您的问题。
-
你有什么问题?
-
Socket 的
inet_ntoa(inet_aton($name_or_ip))将解析 DNS 名称。 (它还会检查您的hosts文件,或您的操作系统通常会执行的任何其他检查)。 -
感谢大家的反馈 - 我将努力纠正这个问题并试一试,我会告诉你我的发现 - 更多内容即将发布。 . .