http://qs321.pair.com?node_id=33482


in reply to How do I tie an array of hashes?

The items in your array are in insertion order, so what remains is each individual hash. In your example above, you have a list with one element: a standard hashref. Since you can't "tie" an anonymous reference like this, you would need to use the object-oriented abilities of Tie::IxHash instead:
use Tie::IxHash; push @data, Tie::IxHash->new( yo => mama, bliz => at ); push @data, Tie::IxHash->new( one => two, three => four); print join(", ", keys %{$data[1]}); # one, three
You can also create separate hashes, tied to Tie::IxHash (per the man page) and push references to each of those tied variables onto @data.