in reply to Getting a Hash Name

The reason I don't pass the whole hash is because these hash-puppies can get quite large and I'd like to avoid copying them.

As an aside, this statement suggests you don't know that passing a reference doesn't copy the data structure at all, it passes a copy of the reference to the data. So there is no problem with passing a large hash around like this, except its then easy for any part of the code to modify data that you might prefer be constant.

perl -e 'sub f{print "f($_[0])\n"}; $h={one=>1,two=>2}; print "$h\n"; +f($h);' HASH(0x80f57ac) f(HASH(0x80f57ac))