Como posso verificar se os números IP estão na mesma sub-rede com Perl?
Pergunta
Como posso verificar se os números IP estão na mesma sub-rede com Perl? Eu uso NetAddr :: IP ?
Graças.
Solução
Parece que o Net :: Subnets Perl módulo faria isso. Há um exemplo em que a ligação que eu dei. Se você não quiser usar CPAN para obter o módulo, tanto Debian e Ubuntu tem uma libnet-sub-perl pacote.
Outras dicas
Você poderia tentar o seguinte:
#!/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;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow