in reply to mystery re each + last
So, your problem is that you're leaving the "single iterator" in the middle of the hash, and not resetting it. You'll need to reset it before entering the next loop.When the hash is entirely read, a null array is returne +d in list context (which when assigned produces a false (0) +value), and "undef" in scalar context. The next call to "each" + after that will start iterating again. There is a single ite +rator for each hash, shared by all "each", "keys", and "value +s" func- tion calls in the program; it can be reset by reading a +ll the elements from the hash, or by evaluating "keys HASH" or + "values HASH".
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: mystery re each + last
by inq123 (Sexton) on Sep 28, 2005 at 15:49 UTC | |
|
Re^2: mystery re each + last
by radiantmatrix (Parson) on Sep 28, 2005 at 15:20 UTC | |
|
Re^2: mystery re each + last
by inq123 (Sexton) on Sep 28, 2005 at 15:21 UTC | |
by merlyn (Sage) on Sep 28, 2005 at 16:26 UTC |