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


in reply to push foreach glob - bug?

Hm. Modifying an array whilst iterating over it? Maybe you should rather say

perl -le '@l = glob("*.mp3"); push @{$f[/ad/]}, $_ foreach @l;

(update) since @l[0,1] contain file names, not array references.

Replies are listed 'Best First'.
Re^2: push foreach glob - bug?
by ikegami (Patriarch) on Jan 13, 2010 at 22:58 UTC
    Modifying elements of an array over which one is iterating doesn't cause problems. It's done all the time:
    s/^\s+//, s/\s+$// for @array;

      Right. But modifying values that way doesn't involve coercion of a string into an array reference... (I have just been giving a hint to puzzle further ;-)