Tie::NetAddr::IP

Implements a Hash where the key is a subnet
Download

Tie::NetAddr::IP Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Luis Mu
  • Publisher web site:
  • http://search.cpan.org/~luismunoz/

Tie::NetAddr::IP Tags


Tie::NetAddr::IP Description

Implements a Hash where the key is a subnet Tie::NetAddr::IP is a Perl module that overloads hashes so that the key can be a subnet as in NetAddr::IP. When looking values up, an interpretation will be made to find the given key within the subnets specified in the hash.The code sample provided on the SYNOPSIS would print out the locations of every machine in the foreach loop.Care must be taken, as only strings that can be parsed as an IP address by NetAddr::IP can be used as keys for this hash.Iterators on the hash such as foreach, each, keys and values will only see the actual subnets provided as keys to the hash. When looking up a value such as in $hash{$ipaddress} this IP address will be looked up among the subnets existing as keys within the hash. The matching subnet with the longest mask (ie, the most specific subnet) will win and its associated value will be returned.This code can be distributed freely according to the terms set forth in the PERL license provided that proper credit is maintained. Please send bug reports and feedback to the author for further improvement.SYNOPSIS use Tie::NetAddr::IP; my %WhereIs; tie %WhereIs, Tie::NetAddr::IP; $WhereIs{"10.0.10.0/24"} = "Lab, First Floor"; $WhereIs{"10.0.20.0/24"} = "Datacenter, Second Floor"; $WhereIs{"10.0.30.0/27"} = "Remote location"; $WhereIs{"0.0.0.0/0"} = "God knows where"; foreach $host ("10.0.10.1", "10.0.20.15", "10.0.32.17", "10.10.0.1") { print "Host $host is in ", $WhereIs{$host}, "\n"; } foreach $subnet (keys %WhereIs) { print "Network ", $subnet, " is used in ", $WhereIs{$subnet}, "\n"; } untie %WhereIs; Requirements: · Perl What's New in This Release: · General update. Patch from Kazuyuki Maejima to fix bug related to keys, next, each, etc.


Tie::NetAddr::IP Related Software