我必须在perl中遍历一系列ip地址,并打印出该范围内所有ip的列表。对于前 - 为在perl中迭代IP地址范围
192.168.122.1-192.168.122.4
我的返回值是
192.168.122.1, 192.168.122.2, 192.168.122.3, 192.168.122.4
我也不能使用Net::IP
或Netmask
模块,所以寻找其他方式来进行迭代。
随着解决方案的工作,但有一些问题,我似乎无法弄清楚 -
1 - 我的起点和终点将是perl的变量“”,而不是如下面的代码中提到。下面的代码不适用于开始=“192.168.122.1”
2 - 我怎样才能得到所有ips尾部列表?
sub inc_ip { $_[0] = pack "N", 1 + unpack "N", $_[0] }
my $start = 192.168.122.1;
my $end = 192.168.122.4;
for ($ip = $start; $ip le $end; inc_ip($ip)) {
printf "%vd\n", $ip;
}
是什么让你说你不能使用'Net :: IP'或'Net :: Netmask'? – innaM