Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^2: Is it safe to append to the array you are iterating over

by DrWhy (Chaplain)
on Mar 14, 2013 at 16:55 UTC ( #1023505=note: print w/ replies, xml ) Need Help??


in reply to Re: Is it safe to append to the array you are iterating over
in thread Is it safe to append to the array you are iterating over

Right: "If any part of LIST is an array, foreach will get very confused if you add or remove elements within the loop body, for example with splice. So don't do that"

Except in my case I found that if all you have is a single array as your loop list and you only modify it by push-ing new elements on to the end, the foreach in fact does not seem to get confused.

My question is is this use case safe or was I lucky?

Maybe the phrase 'in general' in the OP was too general. I am only asking about cases where the loop list consists solely of a single array.

--DrWhy

"If God had meant for us to think for ourselves he would have given us brains. Oh, wait..."


Comment on Re^2: Is it safe to append to the array you are iterating over
Re^3: Is it safe to append to the array you are iterating over
by davido (Archbishop) on Mar 14, 2013 at 17:10 UTC

    I think that when the documentation says "don't do that", and you find that in a specific case it's not causing a problem, you're probably lucky by implementation, and not by guarantee. The behaviour may never change, but could change without notice.


    Dave

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1023505]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (12)
As of 2014-08-23 02:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (171 votes), past polls