I'm hoping that if someone could help me convert a small piece of a script I already use to oo that it'll finally sink in...Note: All this example code is written from memory
If you want help converting your existing code to OO, you're pretty much going to have to post the actual existing code, not paraphrase it from memory.
None of these work as the object gets 'stringified' ( I guess ) when saved in the hash.
References get stringified when they are used as the keys of a hash, regardless of whether they're blessed as objects or not. To avoid stringification, store the references as hash values instead. (Note that both of the examples you posted are inserting the Net::CIDR::Lite object as a hash value, so it shouldn't be getting stringified. This leads me to suspect that your actual problem may be something else - but, again, without your actual code, it's impossible to say for sure.)