#!/usr/bin/perl use strict; use lib '/home/dcat/perlmods/share/perl/5.8.4/'; use Net::CIDR; use Net::CIDR ':all'; use CGI::Minimal; my $cgi = CGI::Minimal->new; sub print_nets { my($r1, $r2) = @_; $r1 = $cgi->htmlize($r1); $r2 = $cgi->htmlize($r2); print '
', "\n"; print "

$r1 - $r2

\n"; print "

Result:
\n"; print join("
\n", Net::CIDR::range2cidr("$r1-$r2")); print "

\n"; print "
\n"; } print < range2cidr
HTML my $range1 = $cgi->param('s') || '192.168.0.0'; my $range2 = $cgi->param('e') || '192.168.5.253'; if ( $range1 ne '' and $range2 ne '' and length($range1) <= 15 and length($range2) <= 15 and Net::CIDR::cidrvalidate($range1) and Net::CIDR::cidrvalidate($range2) ) { print_nets($range1, $range2); } print <

Submit the start and end range

Start IP:
End IP:

This is a simple web interface for Net::CIDR's range2cidr function.

Source code for this page: range2cidr.pl.

HTML