for my $key ( keys %some_hash ) { my $val = $some_hash{$key}; ... } #### >perl -le"%h=qw(a ! b @); for(1..2){ for$k(keys%h){ print ++$i,$k; last } }" 1a 2a >perl -le"%h=qw(a ! b @); for(1..2){ while($k=each%h){ print ++$i,$k; last } }" 1a 2b <-- b???