Comment puis-je vérifier si les numéros IP sont dans le même sous-réseau avec Perl?

StackOverflow https://stackoverflow.com/questions/962347

  •  12-09-2019
  •  | 
  •  

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.

Était-ce utile?

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
scroll top