Net::Silk::IPWildcard - SiLK IP wildcard class
use Net::Silk::IPWildcard; my $w = Net::Silk::IPWildcard->new('1.2.3.0/24'); $w->contains('1.2.3.4'); # true while (my $ip = <$w>) { ... } my $iter = $w->iter_cidr; while (my $cidr = $iter->()) { my($ip, $prefix) = @$cidr; ... }
Net::Silk::IPWildcard objects represent a range or block of IP addresses.
Net::Silk::IPWildcard
Returns a new Net::Silk::IPWildcard object. The provide spec can be a Net::Silk::IPAddr object, another wildcard object, a IP CIDR string, an integer, an integer with a CIDR designation, or an entry in SiLK wildcard notation. In SiLK wildcard notation, a wildcard is represented as an IP address in canonical form with each octet (IPv4) or hexadectet (IPv6) represented by one of following: a value, a range of values, a comma separated list of values and ranges, or the character 'x' used to represent the entire octet or hexadectet.
Some examples of valid strings:
'1.2.3.0/24' 'ff80::/16' '1.2.3.4' '::ffff:0102:0304' '16909056' '16909056/24' '1.2.3.x' '1:2:3:4:5:6:7:x' '1.2,3.4,5.6,7' '1.2.3.0-255' '::2-4' '1-2:3-4:5-6:7-8:9-a:b-c:d-e:0-ffff'
Return the number of addresses represented by this IPWildcard.
Returns true if the given IP address is contained within this Wildcard. The given IP address can be a string or Net::Silk::IPAddr.
Returns true if this wildcard is IPv6 enabled.
Return a sub ref iterator that returns each Net::Silk::IPAddr represented by this wildcard. In list context this will slurp all addresses.
Return a sub ref iterator that returns a Net::Silk::CIDR object for each CIDR block contained in this wildcard.
Return a sub ref iterator that returns a Net::Silk::Range object for each IP range contained in this wildcard.
The IO operator <> works with Net::Silk::IPWildcard objects, returning each address in the wildcard space.
<>
Net::Silk, Net::Silk::RWRec, Net::Silk::IPSet, Net::Silk::Bag, Net::Silk::Pmap, Net::Silk::Range, Net::Silk::CIDR, Net::Silk::IPAddr, Net::Silk::TCPFlags, Net::Silk::ProtoPort, Net::Silk::File, Net::Silk::Site, silk(7)
Copyright (C) 2011-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.
To install Net::Silk, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::Silk
CPAN shell
perl -MCPAN -e shell install Net::Silk
For more information on module installation, please visit the detailed CPAN module installation guide.