each
each %hash
- Returns a two-element list consisting of the key and value for the next element of a hash. With successive calls to
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 toeach
after that will start a new iteration. The iterator can be reset either by reading all the elements from the hash, or by calling thekeys
function in scalar context. You must not add elements to the hash while iterating over it, although you are permitted to usedelete
. In a scalar context,each
returns just the key.There is a single iterator for each hash, shared by all
each
,keys
, andvalues
function calls in the program. This means that after akeys
orvalues
call, the nexteach
call will start again from the beginning.