我必須在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