我已经开始学习perl,喜欢尝试新事物.
我在文本处理中有一些问题.
我有一些表格的文字,
0 1 2 3 4 5 6 7 8 9 10 6 7 3 6 9 3 1 5 2 4 6
我想转置这个文本.像我一样,我想把行作为列ans列作为行.有没有办法在perl这样做?
谢谢你们.
解决方法
所以这个解决方案使用一个数组的数组,每个嵌套数组
是一行数据.很简单,你循环了每一列的列
并使用列将它们推到另一个阵列上
索引作为将值推入的索引.这有效果
根据您的要求枢转数据.
是一行数据.很简单,你循环了每一列的列
并使用列将它们推到另一个阵列上
索引作为将值推入的索引.这有效果
根据您的要求枢转数据.
#!/usr/bin/env perl my @rows = (); my @transposed = (); # This is each row in your table push(@rows,[qw(0 1 2 3 4 5 6 7 8 9 10)]); push(@rows,[qw(6 7 3 6 9 3 1 5 2 4 6)]); for my $row (@rows) { for my $column (0 .. $#{$row}) { push(@{$transposed[$column]},$row->[$column]); } } for my $new_row (@transposed) { for my $new_col (@{$new_row}) { print $new_col," "; } print "\n"; }
这导致:
0 6 1 7 2 3 3 6 4 9 5 3 6 1 7 5 8 2 9 4 10 6