求一个perl程序进行二维矩阵转置

2025-04-24 12:49:08
推荐回答(1个)
回答1:

代码不难,只是那么大的数据,不知道运行是否有问题,例如内存能否支持

方法就是因为知道是90列,实际上需要定义一个90行的一维数组,不断读取和添加内容,最后输出它,例子代码如下:

my(@out,@arr,$line);
#读文件
open(FD,'in.txt');
$line=;#读第一行
@out=split(/\s+/, $line);#初始化输出数组
while($line=){
@arr=split(/\s+/,$line);
for ($i=0;$i<$#arr;$i++){$out[$i].="\t".$arr[$i];}
}
close(FD);
#写文件
open(FD,'>out.txt');
for ($i=0;$i<$#out;$i++){print FD $out[$i] . "\n";}
close(FD);