in reply to Re: Using an array element as a loop iterator
in thread Using an array element as a loop iterator

How is "Can we use an array element as a loop iterator for another array?" ambiguous?
  • Comment on Re^2: Using an array element as a loop iterator

Replies are listed 'Best First'.
Re^3: Using an array element as a loop iterator
by ww (Archbishop) on Nov 07, 2013 at 20:30 UTC
    1. For lack of a sample of desired output and the existence of such limited sample data that -- depending on one's reading of the question -- the question can be parsed in at least two, mutually-exclusive ways.
    2. Because of the presence of a fundamental error, noted by others, in declaring the variable @a.
    3. Because here at the Monastery, the possibility always exists that precision in English is NOT a strong suit for an OP.

      What he is trying to accomplish in his examples is vague indeed; the foreach loop and the C-style for loop are not functionally equivalent, even if the first was valid syntax. I suspect these are off-the-cuff examples to illustrate his question.

      If you don't mind helping me understand, what are the two ways to parse his question? My own post shows how I parsed it. If that is one of the two, no need to rehash it.

      (update added first paragraph for clarity)
        And another is as I guessed (well, WAGed) at in my prior response to OP.

        Yes, the WAG presumes both difficulty in expression in English and insufficient knowledge of Perl (based on 2, above) such that the phrasing used is NOT what a better informed Perl coder would use.

        And, of course, check out the variant meanings of hash, associative array, and similar as used by a Perl coder and a PHP coder.

Re^3: Using an array element as a loop iterator
by Kenosis (Priest) on Nov 07, 2013 at 23:36 UTC

    The question's ambiguous because it's not well formed (with all due respect to the OP). Consider the following:

    use strict; use warnings; my @a = (2, 4, 6);

    The array elements in the above array are 2, 4 and 6. Can 2 be used as a loop iterator? $a[1] is not an array element. One assumes that $a[1] is the referent of the phrase "array element," but that assumption requires disambiguating the OP's use of that phrase.

Re^3: Using an array element as a loop iterator
by Laurent_R (Canon) on Nov 07, 2013 at 23:41 UTC

    How is "Can we use an array element as a loop iterator for another array?" ambiguous?

    Granted, the question itself seems to be fairly clear, but the code presented to do that is so far from that and so buggy that I just can't make sense of what the OP really wants to do (which is the reason I asked for clarifications). Add to that that the C-style loop (that supposedly works) does something completely different that it just obfuscate further the OP's real intent.