in reply to Re: playing with map
in thread playing with map

Not exactly, more like:

for (0..$#old) { push @new, act_on( $old[$_] ); }

usually written as:

foreach @old { push @new, act_on( $_); }

If act_on returns a list then all members are pushed into @old.

Update: darn! merlyn is right, you need to initialize @new to () to get the exact equivalent statement.

Replies are listed 'Best First'.
Re: Re: Re: playing with map
by merlyn (Sage) on Mar 09, 2001 at 23:21 UTC
    If act_on returns a list then all members are pushed into @old.
    In a list context, act_on must return a list! And map (and the map-equivalents) are providing list context.

    -- Randal L. Schwartz, Perl hacker

      OK, I was not clear. I should have written "if act_on returns a list with more than one element" then the original code is not equivalent to a map (and I can play with fonts too ;--). If act_on returns a scalar or a 1 element list then the original code behaves the same way as a map.