Sponsored Content
The Lounge What is on Your Mind? Please Welcome Peasant to the Moderation Team Post 303037929 by vbe on Sunday 18th of August 2019 07:52:25 AM
Old 08-18-2019
Welcome Peasant!
And well done... Smilie
This User Gave Thanks to vbe For This Post:
 

3 More Discussions You Might Find Interesting

1. What is on Your Mind?

Please Welcome Ravinder Singh to the Moderation Team

On this special Happy News Year day, 1 January 2019, I am pleased to promote Ravinder Singh to UNIX.COM Moderator, for at least the following reasons: Ravinder Loves UNIX.COM Ravinder has 1,372 Thanks, which puts him in the Top Ten in that important single category. Ravinder is one of... (8 Replies)
Discussion started by: Neo
8 Replies

2. What is on Your Mind?

Please Welcome Yoda (Bipin Ajith) to the Moderation Team

Dear All, Following our policy for forum moderators to have active LinkedIn profiles (and also to increase mod team diversity), please join me in congratulating the newest addition to our mod team, Yoda: Bipin Ajith (Yoda) Yoda has been hanging around unix.com for over eight years now and... (7 Replies)
Discussion started by: Neo
7 Replies

3. What is on Your Mind?

Please Welcome Akshay Hegde to the Moderation Team

Dear All, Following our policy for forum moderators to have active LinkedIn profiles (and also to increase mod team diversity), please join me in congratulating the newest addition to our mod team, Akshay Hegde: Akshay Hegde on LinkedIn Akshay has been very helpful to the site over the... (3 Replies)
Discussion started by: Neo
3 Replies
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)
All times are GMT -4. The time now is 10:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy