-
-
05 Apr 2019 18:31:52 UTC
- Distribution: Net-Silk
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Issues
- Testers (15 / 17 / 0)
- Kwalitee
Bus factor: 1- % Coverage
- License: unknown
- Activity
24 month- Tools
- Download (139.97KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 1 contributors-
Matt Sisk
- Dependencies
- DateTime
- Math::Int128
- Math::Int64
- and possibly others
- Reverse dependencies
- CPAN Testers List
- Dependency graph
NAME
Net::Silk::CIDR - SiLK IP CIDR class
SYNOPSIS
use Net::Silk::CIDR; my $r = Net::Silk::CIDR->new('1.1.1.0' => 27); # or "1.1.1.0/27" $r->contains("1.1.1.2"); # true print "$r\n"; # 1.1.1.0/27 print join('/', $r->ip, $r->prefix), "\n"; # 1.1.1.0/27 print join('/', @$r, "\n"; # 1.1.1.0/27 my $size = $r->cardinality; # 32 use Net::Silk::IPSet; my $s = Net::Silk::IPSet->load("my.set"); my $iter = $s->iter_cidr; while (my $r = $iter->()) { ... # $r is a Net::Silk::CIDR } use Net::Silk::Pmap; my $s = Net::Silk::Pmap->load("my.pmap"); my $iter = $s->iter_cidr; while (my($k, $v) = each %$s) { ... # $k is a Net::Silk::CIDR }
DESCRIPTION
Net::Silk::CIDR
is a lightweight wrapper around a CIDR block specified by an IP and prefix bits. It is returned by iterators in Net::Silk::IPSet, Net::Silk::Pmap, and Net::Silk::IPWildcard.METHODS
- new($addr, $prefix)
- new([$addr, $prefix])
- new($string)
-
Returns a new
Net::Silk::CIDR
object represented by the given IP base and prefix bits. The two values can be provided either as separate arguments, in an array ref, or a string representation. - ip()
-
Return the base of this CIDR as a Net::Silk::IPAddr. This can alternately be accessed via
$r->[0]
. - prefix()
-
Return the prefix bits of this CIDR. This can alternately be accessed via
$r->[1]
. - first()
-
Return the first address in the CIDR range, same as
ip()
. - last()
-
Return the last address in the CIDR range.
- carinality()
-
Return the number of elements in this block.
- contains($item)
-
Return whether or not the given item is contained in this block.
- as_range()
-
Returns a Net::Silk::Range representing this block.
- as_str()
-
Return a string in the form of
"ip/prefix"
. This method gets invoked automatically when the block is used in string context. - iter()
-
Return a sub ref that iterates over all elements of this block. Treating the object like a filehandle
<$r>
yields the same results.
OVERLOADED OPERATORS
The following operators are overloaded:
<> "" eq == ne != cmp <=>
SEE ALSO
Net::Silk, Net::Silk::RWRec, Net::Silk::IPSet, Net::Silk::Bag, Net::Silk::Pmap, Net::Silk::IPWildcard, Net::Silk::Range, Net::Silk::IPAddr, Net::Silk::TCPFlags, Net::Silk::ProtoPort, Net::Silk::File, Net::Silk::Site, silk(7)
COPYRIGHT & LICENSE
Copyright (C) 2016 by Carnegie Mellon University
Use of the Net-Silk library and related source code is subject to the terms of the following licenses:
GNU Public License (GPL) Rights pursuant to Version 2, June 1991 Government Purpose License Rights (GPLR) pursuant to DFARS 252.227.7013
NO WARRANTY
See GPL.txt and LICENSE.txt for more details.
Module Install Instructions
To install Net::Silk, copy and paste the appropriate command in to your terminal.
cpanm Net::Silk
perl -MCPAN -e shell install Net::Silk
For more information on module installation, please visit the detailed CPAN module installation guide.