From perldoc -f each:
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".
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.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|