Arrays 如何合并(连接)数组/矩阵中的两列?
这可能是一个相当新的问题,但是 在perl中,我试图读入一个表(读入一个数组)并组合前两列的值。因此,对于具有以下内容的输入文件: 1 7 ABC DEF GHI 2 8 ABC DEF GHI 3 1 ZYX MNO PLQ 17 ABC DEF GHI 2.8 ABC DEF GHI 3.1 ZYX MNO PLQ 我想出去: 17 ABC DEF GHI 28 ABC DEF GHI 31 ZYX MNO PLQ 17 ABC DEF GHI 28 ABC DEF GHI 31 ZYX MNO PLQArrays 如何合并(连接)数组/矩阵中的两列?,arrays,perl,concatenation,multiple-columns,Arrays,Perl,Concatenation,Multiple Columns,这可能是一个相当新的问题,但是 在perl中,我试图读入一个表(读入一个数组)并组合前两列的值。因此,对于具有以下内容的输入文件: 1 7 ABC DEF GHI 2 8 ABC DEF GHI 3 1 ZYX MNO PLQ 17 ABC DEF GHI 2.8 ABC DEF GHI 3.1 ZYX MNO PLQ 我想出去: 17 ABC DEF GHI 28 A
最简单的方法是什么?我能想到的最简单的方法
Open file
#read file line by line
while input line
remove trailing newline
split line into an array
make index 1 equal index 0 . 1
remove first element from array
print the elements of the array followed by \n #to STDOUT or file
这很短,因此我必须在答案中添加额外的文本:
while(<>){ s/^(\S+)\s+/$1/; print}
while(){s/^(\s+)\s+/$1/;print}
如果您向我们展示您的代码,我们将修复它。这就是使用替换命令删除空间而不使用全局标志的方式。