in reply to my array is almost a hash, but keys are not unique.

The only thing stopping it from being a hash is that some keys are repeated.
Stupid trick with a CPAN module: Tie::DxHash. Granted, that does more than you asked for, as it preserves insertion order. But, it does allow duplicate keys.
  • Comment on Re: my array is almost a hash, but keys are not unique.