There was at one time an experimental feature that blended hashes and arrays. It was called a pseudohash. There is a module,
Class::PseudoHash, that gives you the ability to work with it.
There is also Tie::IxHash (and the XS version Tie::Hash::Indexed). It's not clear to me what you want to do, but these might fit the bill.
Caution: Contents may have been coded under pressure.