Perl 从文件中提取列

Perl 从文件中提取列,perl,Perl,我想用Perl从文件中提取一些列。下面是我的代码: #!/usr/bin/perl use strict; use warnings; my $file = 'file.txt'; open( my $fh, "<" ,$file) or die $!; while (<$fh>) { if (/a/../z/) { next if /a/ || /z/; print +(split) [5,6,7], "\n"; }

我想用Perl从文件中提取一些列。下面是我的代码:

#!/usr/bin/perl

use strict;
use warnings;

my $file = 'file.txt';

open( my $fh, "<" ,$file) or die $!;

while (<$fh>) {
     if (/a/../z/) {
       next if /a/ || /z/;
       print +(split) [5,6,7], "\n";
      }
}
我希望输出是可读的(只是增加一些空格,使其更易于阅读):

1alaca
1阿拉CB
2 THR H
2苏氨酸钙

是否使用空格连接列

print join("  ", +(split)[5,6,7]), "\n";

是否使用空格连接列

print join("  ", +(split)[5,6,7]), "\n";

您只需在循环之前更改输出字段分隔符:

$, = ' ';
或者更明确地说:

use English qw<$OUTPUT_FIELD_SEPARATOR>;

local $OUTPUT_FIELD_SEPARATOR = ' ';
使用英语qw;
本地$OUTPUT\字段\分隔符=“”;

您只需在循环之前更改输出字段分隔符:

$, = ' ';
或者更明确地说:

use English qw<$OUTPUT_FIELD_SEPARATOR>;

local $OUTPUT_FIELD_SEPARATOR = ' ';
使用英语qw;
本地$OUTPUT\字段\分隔符=“”;