Comment puis-je vérifier si les numéros IP sont dans le même sous-réseau avec Perl?
Question
Comment puis-je vérifier si les numéros IP sont dans le même sous-réseau avec Perl? Dois-je utiliser netaddr :: IP ?
Merci.
La solution
On dirait que le Net :: Subnets module Perl ferait cela. Il y a un exemple à ce lien que j'ai donné. Si vous ne souhaitez pas utiliser CPAN pour obtenir le module, Debian et Ubuntu ont un paquet libnet-perl-sous-réseaux.
Autres conseils
Vous pouvez essayer ceci:
#!/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;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow