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)