如何检查IP号码是否与Perl位于同一子网中?我使用NetAddr::IP吗?
感谢。
答案 0 :(得分:9)
你可以试试这个:
#!/usr/bin/perl
use warnings;
use strict;
use NetAddr::IP;
my $first = NetAddr::IP->new('10.0.0.1/24');
my $second = NetAddr::IP->new('10.0.0.5/32');
if ($second->within($first)) {
printf "%s is within %s\n", $second, $first;
} else {
printf "%s is not within %s\n", $second, $first;
}
答案 1 :(得分:5)
似乎Net::Subnets Perl module会这样做。我给的那个链接有一个例子。如果你不想使用CPAN来获取模块,Debian和Ubuntu都有一个libnet-subnets-perl包。