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


in reply to Re: why need my in a foreach loop?
in thread why need my in a foreach loop?

The OP points out that there's no real difference between for $lex (...) and for my $lex (...). The "my" is just useless noise. As such, the declaration could be implicit.

It's reasonable, but it's not true because foreach loops don't just work with lexicals.

Replies are listed 'Best First'.
Re^3: why need my in a foreach loop?
by szabgab (Priest) on Nov 28, 2010 at 18:37 UTC
    The foreach loop always works with an alias. IMHO the variable is never connected to anything outside the for loop so the values never "leak" out of the loop. If I am mistaken, please give an example when that variable is connected to something else as well.
      I've already showed when it makes a difference.
        Oh, apparently I did not read your example in detail. Interesting example. Now I understand how the "my" makes a difference there. Thanks.

        However I'd be interested to know in what case would you really want to write such code?