my @data; while (<>) { my @fields = split ' '; my $col = $. - 1; for my $row (0..$#fields) { $data[$row][$col] = $fields[$row]; } } foreach my $row (@data) { foreach (0 .. $#$row) { print $$row[$_]; } print "\n"; }