in reply to Re: Re (tilly) 2: Dynamic array names
in thread Dynamic array names

I would give even more bonus points if the candidate was able to work without the temporary @array variable at all:
my @list_of_arrays; while (<FILE>) { push @list_of_arrays, [ split /\t/ ]; }

Replies are listed 'Best First'.
Re (tilly) 5: Dynamic array names
by tilly (Archbishop) on Feb 10, 2001 at 02:37 UTC
    I would subtract considerable points for missing the fact that you were breaking the spec of what was asked for in at least 3 different ways! OTOH anyone who came up with this would impress me:
    my @data = map [/[^,\n]*/g], <CSV>;
    Now for shame, find at least 3 ways in which you broke the spec. (Having the wrong array name and the wrong filehandle don't count. I am looking for egregious data errors.)
      Had I been responding to you and not arturo (heh), I would have chomped the input data first, used a comma instead of a tab and a negative LIMIT argument to split to preserve trailing null fields. Did I miss anything else?

      I might also have used /[^,\n]+/ in that map instead of a *, which introduces spurious empty fields by succeeding emptily upon encountering a delimiter.

        You didn't stop soon enough. :-)

        You got it all, but you missed the point of the *. With a + you again lose the trailing null fields, which is why I put it in in the snippet...