If we're going to nitpick: you're flat wrong in a number of places.
- I never said that arrays start at 0. Indices, however, do - unless you change them.
- Changing them via $[ won't make the arrays start at 1 either. Although the indices will start at whatever number is assigned to it.
- Human language being the imperfect tool that it is, exceptions to "always" can always be found. Being able to do this is not a mark of ability, distinction, or anything else positive - especially when you end up qualifying your "correction" by saying "Either way, avoid [it]."
- Your statement about hashes being slower is mostly misleading - badly so when trying to explain something to someone who is just learning the language. In fact, hashes are usually *much* faster than arrays - although, as always, there's the exception. Which you, of course, seized on.
I'm totally fine - grateful, usually - when someone points out where I've been wrong; it's all a learning experience. Your post, however, was a pointless series of nitpicks and exception highlighting, and of no earthly use to anyone.
I hate storms, but calms undermine my spirits.
-- Bernard Moitessier, "The Long Way"