Net-CIDR-Overlap
A utility module for helping make sure a list of CIDRs don't overlap.
my $nco=Net::CIDR::Overlap->new;
# add some subnets
eval{
$nco->add( '127.0.0.0/24' );
$nco->add( '192.168.42.0/24' );
$nco->add( '10.10.0.0/16' );
}
if ( $@ ){
warn( $@ );
}
# this will fail as they have already been added
eval{
$nco->add( '127.0.0.0/25' );
$nco->add( '10.10.10/24' );
}
if ( $@ ){
warn( $@ );
}
# this will fail this is not a valid CIDR
eval{
$nco->add( 'foo' );
}
if ( $@ ){
warn( $@ );
}
# print the subnets we added with out issue
my $list=$nco->list;
foreach my $cidr ( @${ $list } ){
print $cidr."\n";
}
This module supports both IPv4 and IPv6.
INSTALLATION
To install this module, run the following commands:
perl Makefile.PL
make
make test
make install
SUPPORT AND DOCUMENTATION
After installing, you can find documentation for this module with the
perldoc command.
perldoc Net::CIDR::Overlap
You can also look for information at:
RT, CPAN's request tracker (report bugs here)
https://rt.cpan.org/NoAuth/Bugs.html?Dist=Net-CIDR-Overlap
AnnoCPAN, Annotated CPAN documentation
http://annocpan.org/dist/Net-CIDR-Overlap
CPAN Ratings
https://cpanratings.perl.org/d/Net-CIDR-Overlap
Search CPAN
https://metacpan.org/release/Net-CIDR-Overlap
Git Repository
https://github.com/VVelox/Net-CIDR-Overlap
LICENSE AND COPYRIGHT
This software is Copyright (c) 2019 by Zane C. Bowers-Hadley.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)