| Net-CIDR-Lookup documentation | view source | Contained in the Net-CIDR-Lookup distribution. |
Net::CIDR::Lookup::Tie
This is a Tie::Hash interface to Net::CIDR::Lookup, see there for details.
The tied hash accepts net blocks as keys in the same syntax as Net::CIDR::Lookup::add()/add_range() and stores arbitrary scalar values under these. The same coalescing as in Net::CIDR::Lookup takes place, so if you add any number of different keys you might end up with a hash containing less keys if any mergers took place.
use Net::CIDR::Lookup::Tie;
tie my %t, 'Net::CIDR::Lookup::Tie';
$t{'192.168.42.0/24'} = 1; # Add first network
$t{'192.168.43.0/24'} = 1; # Automatic coalescing to a /23
$t{'192.168.41.0/24'} = 2; # Stays separate due to different value
print $t{'192.168.42.100'}; # prints "1"
foreach(keys %h) { ... } # Do anything you'd do with a regular hash
Stores a value under a given key
Fetches the value stored under a given key
Gets the first key in the hash. Used for iteration with each()
Gets the next key from the hash. Used for iteration with each()
Tests if a key is in the hash. Also returns true for blocks or addresses contained within a block that was actually stored.
Delete a key from the hash. Note that the same restrictions as for Net::CIDR::Lookup regarding netblock splitting apply!
Deletes all keys and their values.
Returns the number of keys in the hash
Private method to update the internal key cache used for iteration
| Net-CIDR-Lookup documentation | view source | Contained in the Net-CIDR-Lookup distribution. |