in reply to Peek a hash without breaking iterator
hi hurricup,
Excerpts from the man pages:
each "When called on a hash in list context, returns a 2-element list consisting of the key and value for the next element of a hash."
keys "Called in list context, returns a list consisting of all the keys of the named hash."
values "In list context, returns a list consisting of all the values of the named hash."
As you can see the example below each is executed repeatedly however keys and values are called only once.
use strict; use warnings; my %hash = ('Hello' => 'World'); while ( my ( $key, $value ) = each %hash ) { #my %otherhash = %hash; print "\n$key=$value"; } print "\n------------------\n"; foreach ( keys %hash ) { my %otherhash = %hash; print "\n$_=$hash{$_}"; } print "\n------------------\n"; foreach ( each %hash ) { my %otherhash = %hash; print "\n$_\n"; } print "\n------------------\n";
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Peek a hash without breaking iterator
by hurricup (Pilgrim) on Jun 19, 2016 at 07:38 UTC |
In Section
Seekers of Perl Wisdom