You didn't read all of what I wrote. If you ask me, your line is already getting very laden, and if you actually account for the kicker I added, it's likely to get.. ugly. That is, what happens if it's not always the same column, but changes depending on some field in $row?
For my version, fixed column:
my @cols; for my $row (@array) { my @f = split /,/, $row; $f[2] = $b[$f[2]]; push @{$cols[$_]}, $f[$_] for 0 .. $#f; }
Only a very simple line to add. Same change, only more complex code, for varying column:
(Yes, I realize I introduced a side effect. You can just as easily have do by assigning slices to my @ff or something though, it doesn't change the structure of the code.)my %col_for = ( foo => 2, bar => 4, baz => 5, ); my @cols; for my $row (@array) { my @f = split /,/, $row; splice @f, $col_for{$f[1]} || 6, 0, shift @b; push @{$cols[$_]}, $f[$_] for 0 .. $#f; }
Makeshifts last the longest.
In reply to Re^7: Arrays manipulation (no $i either)
by Aristotle
in thread Arrays manipulation
by hotshot
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |