Returns a two-element list consisting of the key and
value for the next element of a hash. With successive
each, you can iterate over the entire hash.
Entries are returned in an indeterminate order. When the hash is
entirely read, a null list is returned.
The next call to
each after that
will start a new iteration. The iterator can be reset either by reading
all the elements from the hash, or by calling the
keys function in
scalar context. You must not add elements to the
hash while iterating over it, although you are permitted to use
delete. In a scalar context,
each returns just the key.
There is a single iterator for each hash, shared by all
values function calls in
the program. This means that after a
values call, the
each call will start again from the beginning.