http://www.perlmonks.org?node_id=743767


in reply to Re^4: For vs. Foreach
in thread For vs. Foreach

I can't believe you are so far out of touch.

If @a contains 10 million elements, the doing ++$a[$_] for 10 .. $#a -10; causes no extra allocation of memory.

But doing ++$_ for @a[ 10 .. $#a -10 ]; nearly triples memory consumption from 198MB to 460MB.

Given the volumes of data people are manipulating with perl, knowing the distinction between a loop that essentially just increments a scalar (a "counting loop") and a loop that constructs a temporary list consisting of several hundreds of megabytes, is valueable information.

As opposed to your wholy artificial distinction between for & foreach, which are for all intents and purposes identically functional synonyms, excepting for some obscure implementation distinction that nobody can think of a use for.

Which is more useful? Merlyn's "for(list) is a misspelling of foreach" cos he say's it's so; or ikegami's using a counting loop can save me gob loads of memory!


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.