Hmm, what you're suggesting smells of symbolic references, which should be avoided. Why not use a hash of hashes? The "top-level" keys would be the MAC address, and the value would be an anonymous hash with the IP for the key and the hostname for the value, like such:
%hash = (
0810100292 => {
"192.168.1.1" => "mybox.myhome.com"
},
0810100293 => {
"192.168.1.1" => "foo.myhome.com"
},
}
There's your "unknown number of hashes" all in one data structure. HTH.
Update Bah! I take too damn long to test the code that I post...
--
There are 10 kinds of people -- those that understand binary, and those that don't.