perl function each

The each function in Perl is used to iterate over the key-value pairs in a hash. Here's an example of how to use each:

refer ‮:ot‬theitroad.com
my %hash = (
  foo => 'bar',
  baz => 'qux',
  quux => 'corge',
);

while (my ($key, $value) = each %hash) {
  print "$key: $value\n";
}

In this example, a hash %hash is declared with several key-value pairs. The each function is then used in a while loop to iterate over each key-value pair in the hash. In each iteration of the loop, the each function returns the next key-value pair as an array with two elements: the key and the value. The my ($key, $value) = each %hash syntax uses list assignment to assign the key and value to separate variables. These variables are then used in the print statement to display the key-value pair.

The output of the script is:

quux: corge
baz: qux
foo: bar

As you can see, the each function iterates over the key-value pairs in the hash in an arbitrary order. If you need to iterate over the hash in a specific order, you can use the sort function to sort the keys before iterating over them.

It's worth noting that the each function has some caveats and limitations, such as not working well with nested hashes and being deprecated in some contexts. In general, it's often better to use other constructs like keys and values to iterate over hashes, depending on your specific use case.