The tied hash accepts net blocks as keys in the same syntax as Net::CIDR::Lookup's add() or add_range() and stores arbitrary (with the exception of undef) scalar values under these.
The same coalescing as in Net::CIDR::Lookup takes place,
so if you add any number of different keys you may end up with a hash containing less keys if any mergers took place.

Of course you can retrieve the corresponding net block's value for any key that is contained within that block,
so the number of possible lookup keys is usually far greater than that of explicitly stored key/value pairs.