如何检查IP号码是否与Perl位于同一子网中?我使用NetAddr :: IP吗?
谢谢.
你可以试试这个:
#!/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; }
好像Net :: Subnets Perl模块会这样做.我给的那个链接有一个例子.如果您不想使用CPAN来获取模块,Debian和Ubuntu都有一个libnet-subnets-perl包.