Arrays Perl-将文本文件逐行读取到数组中

Arrays Perl-将文本文件逐行读取到数组中,arrays,perl,file,line,Arrays,Perl,File,Line,我对perl几乎没有经验,试图逐行读取简单的文本文件并将所有对象放入数组。你能帮忙吗 文本文件: AAA BBB CCC DDD EEE 例如,需要通过索引访问数组中的每个对象才能访问DDD元素 THX 或 或 试试这个: use strict; use warnings; my $file = "fileName"; open (my $FH, '<', $file) or die "Can't open '$file' for read: $!"; my @lines; while

我对perl几乎没有经验,试图逐行读取简单的文本文件并将所有对象放入数组。你能帮忙吗

文本文件:

AAA
BBB
CCC
DDD
EEE
例如,需要通过索引访问数组中的每个对象才能访问DDD元素

THX

试试这个:

use strict;
use warnings;

my $file = "fileName";
open (my $FH, '<', $file) or die "Can't open '$file' for read: $!";
my @lines;
while (my $line = <$FH>) {
    push (@lines, $line);
}
close $FH or die "Cannot close $file: $!";

print @lines;
请参阅此处的详细信息:

尝试以下操作:

use strict;
use warnings;

my $file = "fileName";
open (my $FH, '<', $file) or die "Can't open '$file' for read: $!";
my @lines;
while (my $line = <$FH>) {
    push (@lines, $line);
}
close $FH or die "Cannot close $file: $!";

print @lines;
请参阅此处的更多信息:

您在此处的“要求”似乎非常低,我同意@ikegami的观点。很难判断您是要与数组中的文本匹配还是要按索引打印元素。也许,如果您通读一遍,您可以添加到您的问题中,并根据代码请求更高级的帮助,您可以尝试自己编写

下面是一个命令行,它执行您最初提出的问题。如果在系统上运行,它将向您显示可用于perl one行程序的各种命令行开关

  • -0400
    -slurps输入
  • -a
    -使用单个空格作为拆分字符,将文件自动拆分为名为
    @F
    的数组
  • -n
    -在隐式
    while(){}
    循环中运行,该循环从
  • -E
    -在
    '
因此,
lines.txt
等于上面的文本文件:

   `perl -0400 -a -n -E 'say $F[3];' lines.txt`
输出:
DDD

您在这里的“要求”似乎非常低,我同意@ikegami的观点,很难说您是想与数组中的文本匹配还是按索引打印元素。也许,如果您通读一遍,您可以添加到您的问题中,并根据代码请求更高级的帮助,您可以尝试自己编写

下面是一个命令行,它执行您最初提出的问题。如果在系统上运行,它将向您显示可用于perl one行程序的各种命令行开关

  • -0400
    -slurps输入
  • -a
    -使用单个空格作为拆分字符,将文件自动拆分为名为
    @F
    的数组
  • -n
    -在隐式
    while(){}
    循环中运行,该循环从
  • -E
    -在
    '
因此,
lines.txt
等于上面的文本文件:

   `perl -0400 -a -n -E 'say $F[3];' lines.txt`

输出:
DDD

天哪,我想我以前没见过任何人链接到perl101.org。我拥有它,我想让它消失,但也许我不应该。你经常链接到它吗?为什么要费这么大的劲来拼凑一个文件呢?@AndyLester LOL:D我已经用过几次了,有时候它在谷歌上显示得很高:D它很酷,为什么不保留它呢?思南这就是我几个月前学到的方法(从网上的某个地方——不记得从哪里来)!正如@ikegami所指出的,
my@lines=
可以做到这一点。没有充分的理由单独推动每一条线。。。除非你在读台词的时候对台词做了些什么。甚至只是
my@files=就足够了。谢谢Sinan,我不知道。我可能是在用这些线做些什么。我写这段代码的方式让我感觉更容易理解,之前我不知道你说了什么。。谢谢你指点我的天哪,我想我以前没见过有人链接到perl101.org。我拥有它,我想让它消失,但也许我不应该。你经常链接到它吗?为什么要费这么大的劲来拼凑一个文件呢?@AndyLester LOL:D我已经用过几次了,有时候它在谷歌上显示得很高:D它很酷,为什么不保留它呢?思南这就是我几个月前学到的方法(从网上的某个地方——不记得从哪里来)!正如@ikegami所指出的,
my@lines=
可以做到这一点。没有充分的理由单独推动每一条线。。。除非你在读台词的时候对台词做了些什么。甚至只是
my@files=就足够了。谢谢Sinan,我不知道。我可能是在用这些线做些什么。我写这段代码的方式让我感觉更容易理解,之前我不知道你说了什么。。谢谢你指出这一点
  $lines[3] # contains DDD
   `perl -0400 -a -n -E 'say $F[3];' lines.txt`