in reply to quick question about hash element access
Perhaps part of what you want could be found in Hash::MultiKey.