如何检查IP号码是否与Perl位于同一子网中?

Fay*_*Lam 2 ip perl

如何检查IP号码是否与Perl位于同一子网中?我使用NetAddr :: IP吗?

谢谢.

小智 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;
}
Run Code Online (Sandbox Code Playgroud)


kby*_*yrd 5

好像Net :: Subnets Perl模块会这样做.我给的那个链接有一个例子.如果您不想使用CPAN来获取模块,Debian和Ubuntu都有一个libnet-subnets-perl包.