Here is the code. The data has an extra blank in. The comment line does not work on the @multi_array, I suspect. I cannot figure out, too, how to print the added index as integers i.e. how to apply map to a part of the array.
#!/usr/bin/perl -w # read data my @multi_array; push @multi_array, [split(',', $_)] for <DATA>; #@multi_array = map {s/\s//} @multi_array; # add counter column my $i = 0; (chomp $_->[1],$_->[2] = sprintf ("%d",$i++)) for @multi_ar +ray; #or push @{ $multi_array[$_] }, $_ for 0 .. $#multi_array; # modify columns ($_->[0] *= 1.0, $_->[1] /= 1.0) for @multi_array; # screen output print join(",", map { sprintf "%e", $_ } @{$_}),"\n" for @multi_array; __DATA__ 0.00000000e+00, 2.41644835e+00 1.20048018e-04, 2.38938189e+00 2.40096037e-04, 2.36473989e+00
In reply to Re^4: adding an index column to a csv data file
by ng0177
in thread adding an index column to a multi-array derived from a csv data file
by ng0177
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |