是否有针对以下问题的 Perl 解决方案:我有一个格式如下的文件
abcdef
abcdef
abcdef
abcdef
这只是一个文件的例子,它扩展了几千列和几百行,由 1 和 0 组成
我希望我的输出如下
abababab
cdcdcdcd
efefefef
我已经在其他地方寻找答案,并且只找到了将行直接转置到列的解决方案。在这种情况下,我想将每一对放在一行中并将它们转置为一列。
非常感谢您的帮助,因为我几天来一直在解决这个问题
我认为我的解决方案将使用该Tie::File
模块来自动执行多次读取文件所需的缓冲。
use strict;
use warnings;
use Fcntl 'O_RDONLY';
use Tie::File;
use List::Util 'max';
tie my @data, 'Tie::File', 'test.dat', mode => O_RDONLY or die $!;
my $max = max map length, @data;
for (my $index = 0; $index < $max; $index += 2) {
print substr $_, $index, 2 for @data;
print "\n";
}
输出
abababab
cdcdcdcd
efefefef