use strict; use warnings; my @data; while () { chomp; push(@data, [ split /,/ ]); } my $cols = $#{$data[0]}; my $rows = $#data; foreach my $col (0..$cols) { foreach my $row (0..$rows) { print "$data[$row][$col],"; } print "\n"; } __DATA__ 1.1,1.2,1.3,1.4,1.5 2.1,2.2,2.3,2.4,2.5 3.1,3.2,3.3,3.4,3.5