Got a problem with peeking hash elements without breaking iterator. According to perldocs, using keys or values on %hash variable resets the internal hash iterator, used by keys/values/each. But seems not only. Simple copying of hash via %other_hash = %hash resets iterator for %hash too.
For example:
my %hash = ('Hello' => 'World'); while ( my ( $key, $value ) = each %hash ) { my %otherhash = %hash; print "\n$key=$value"; }
So question: how can I peek hash keys and values without breaking it?
In case of "why, oh why do you need this?", here is the case: my debugger for IntelliJ IDEA sends current lexical variables to the IDE on each step in/over/etc. And in case of hashes, sends number of elements and elements (by request). But when I'm trying to do so - iterator resets and loop becames infinite. Haven't tried Storable yet, but it seems too expensive anyway.
In reply to Peek a hash without breaking iterator by hurricup
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |