When you should use hashes
So why use arrays ? One excellent reason is because when an array is created, its
variables stay in the same order you created them in. With a hash, perl reorders elements
for quick access. Add
print %countries; to the
end of that program above and run it. See what I mean ? No recognisable sequence at all.
It's like trying to herd cats. If you were writing code that stored a list of variables
over time and you wanted it back in the order you found it in, don't use a hash.
Finally, you should know that each key of a hash must be unique. Stands to reason, if you think about it. You are accessing the hash via keys, so how can you have two keys named 'NL' or something ? If you do define a certain key twice, the second value overwrites the first. This is a feature, and useful. The values of a hash can be duplicates, but never the keys.
If you want to assign to a hash, there is of course no concept of