How do I reset an each() operation part-way through?
Using keys %hash in scalar context returns the number of keys in
the hash and resets the iterator associated with the hash. You may
need to do this if you use last to exit a loop early so that when you
re-enter it, the hash iterator has been reset.