从控制台读取多行

时间:2013-08-20 14:25:57

标签: perl

如何在Perl中从控制台读取多行?

我使用过@a = <STDIN>;但我无法摆脱那种说法。 Evertime我点击进入它进入新线。我已经阅读了ctrl+d以结束输入,但它似乎不起作用。

3 个答案:

答案 0 :(得分:2)

也许更好的想法是某种循环:

use strict;
use warnings;

my @a;
for(;;) {
    my $input = <STDIN>;
    last if not defined $input;
    chomp $input;
    push @a, $input;
}

当你输入Unix <EOF>(默认情况下通常设置为Ctrl-D)时,这将结束。

答案 1 :(得分:1)

您可以使用while循环,

my @a;
while (<STDIN>) {
    /\S/ or last; # last line if empty
    push @a, $_;
}

print @a;

答案 2 :(得分:0)

好像你在Windows上。在Windows上,您必须在空行上点击 Control-z ,然后按 Enter。