in reply to Re^2: print arrays a(i), b(i,j) c(i,j)
in thread print arrays a(i), b(i,j) c(i,j)
The following probably gets close to what you want to do. Note $#{$spec_cps[$j]} is used to get the index of the last item in the array referenced by $spec_cps[$j]. See Re^2: print arrays a(i), b(i,j) c(i,j) if you don't understand what I mean by that.
use strict; use warnings; my @energy_bin = (1, 2, 3); my @spec_cps = ([5, 6], [7, 8], [9, 10]); my @sigma_cps = ([15, 16], [17, 18], [19, 110]); for my $j (0 .. $#energy_bin) { printf "%.5f", $energy_bin[$j]; for my $i (0 .. $#{$spec_cps[$j]}) { printf " %.5e %.5f", $spec_cps[$j][$i], $sigma_cps[$j][$i]; } print "\n"; }
Prints:
1.00000 5.00000e+000 15.00000 6.00000e+000 16.00000 2.00000 7.00000e+000 17.00000 8.00000e+000 18.00000 3.00000 9.00000e+000 19.00000 1.00000e+001 110.00000
|
|---|