如何在Perl中从控制台读取多行?
我使用过@a = <STDIN>
;但我无法摆脱那种说法。 Evertime我点击进入它进入新线。我已经阅读了ctrl+d
以结束输入,但它似乎不起作用。
答案 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。