Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

number::range(3pm) [debian man page]

Number::Range(3pm)					User Contributed Perl Documentation					Number::Range(3pm)

NAME
Number::Range - Perl extension defining ranges of numbers and testing if a number is found in the range. You can also add and delete from this range. SYNOPSIS
use Number::Range; my $range = Number::Range->new("-10..10,12,100..120"); if ($range->inrange("13")) { print "In range "; } else { print "Not in range "; } $range->addrange("200..300"); $range->delrange("250..255"); my $format = $range->range; # $format will be '-10..10,12,100..120,200..249,256..300' DESCRIPTION
Number::Range will take a description of a range, and then allow you to test on if a number falls within the range. You can also add and delete from the range. RANGE FORMAT The format used for range is pretty straight forward. To separate sections of ranges it uses a "," or whitespace. To create the range, it uses ".." to do this, much like Perl's own binary ".." range operator in list context. METHODS new $range = Number::Range->new("10..20","25..30"); Creates the range object. It will accept any number of ranges as its input. addrange $range->addrange("22"); This will also take any number of ranges as input and add them to the existing range. delrange $range->delrange("10"); This will also take any number of ranges as input and delete them from the existing range. inrange $range->inrange("26"); my @results = $range->inrange("27","200"); This will take one or more numbers and check if each of them exists in the range. If passed a list, and in array context, it will return a list of 0's or 1's, depending if that one was true or false in the list position. If in scalar context, it will return a single 1 if all are true, or a single 0 if one of them failed. range $format = $range->range; @numbers = $range->range; Depending on context this will return either an array of all the numbers found in the range, for list context. For scalar context it will return a range string. size $size = $range->size; This will return the total number of entries in the range. EXPORT None by default. SEE ALSO
Number::Tolerant, Tie::RangeHash, and Array::IntSpan for similar modules. AUTHOR
Larry Shatzer, Jr., <larrysh@cpan.org> COPYRIGHT AND LICENSE
Copyright (C) 2004-12 by Larry Shatzer, Jr. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-06-20 Number::Range(3pm)

Check Out this Related Man Page

Net::Subnets(3pm)					User Contributed Perl Documentation					 Net::Subnets(3pm)

NAME
Net::Subnets - Computing Subnets In Large Scale Networks SYNOPSIS
use Net::Subnets; my $sn = Net::Subnets->new; $sn->subnets(@subnets); if (my $subnetref = $sn->check($address)) { ... } my ($lowipref, highipref) = $sn->range($subnet); my $listref = $sn->list(($lowipref, $highipref)); DESCRIPTION
Very fast matches large lists of IP addresses against many CIDR subnets and calculates IP address ranges. This is a simple and efficient example for subnet matching: use Net::Subnets; my @subnets = qw(10.0.0.0/24 10.0.1.0/24); my @addresses = qw/10.0.0.1 10.0.1.2 10.0.3.1/; my $sn = Net::Subnets->new; $sn->subnets(@subnets); my $results; foreach my $address (@addresses) { if (my $subnetref = $sn->check($address)) { $results .= "$address: $$subnetref "; } else { $results .= "$address: not found "; } } print($results); This is a simple example for range calculation: use Net::Subnets; my @subnets = qw(10.0.0.0/24 10.0.1.0/24); my $sn = Net::Subnets->new; my $results; foreach my $subnet (@subnets) { my ($lowipref, $highipref) = $sn->range($subnet); $results .= "$subnet: $$lowipref - $$highipref "; } print( $results ); This is a simple example for list generation: use Net::Subnets; my $lowip = '192.168.0.1'; my $highip = '192.168.0.100'; my $sn = Net::Subnets->new; my $listref = $sn->list(($lowip, $highip)); foreach my $address (@$listref) { # do something cool } METHODS
"new" my $subnets = Net::Subnets->new; Creates an "Net::Subnets" object. "subnets" $subnets->subnets([qw(10.0.0.0/24 10.0.1.0/24)]); The C<subnets> method lets you prepare a list of CIDR subnets. "check" my $match = $subnets->check($address); The C<check> method lets you check an IP address against the previously prepared subnets. "range" my ($lowest, $highest) = $subnets->range($subnet) The C<range> method lets you calculate the IP address range of a subnet. "list" my $list = $subnets->list($lowest, $highest); The C<list> method lets you calculate a list containing all IP addresses in a given range. AUTHOR
Sebastian Riedel (sri@cpan.org), Juergen Peters (juergen.peters@taulmarill.de) COPYRIGHT AND LICENSE
Copyright (C) 2003-2009, Sebastian Riedel. This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0. perl v5.10.1 2009-12-18 Net::Subnets(3pm)
Man Page