如何從控制檯讀取多行perl?從控制檯讀取多行
我已經使用@a = <STDIN>
;但我無法從這個陳述中走出來。我打了輸入它進入新線。我已閱讀並擊中ctrl+d
以結束輸入,但似乎不起作用。
任何人都可以幫助我謝謝。任何幫助是極大的讚賞。
如何從控制檯讀取多行perl?從控制檯讀取多行
我已經使用@a = <STDIN>
;但我無法從這個陳述中走出來。我打了輸入它進入新線。我已閱讀並擊中ctrl+d
以結束輸入,但似乎不起作用。
任何人都可以幫助我謝謝。任何幫助是極大的讚賞。
您可以使用while
循環,
my @a;
while (<STDIN>) {
/\S/ or last; # last line if empty
push @a, $_;
}
print @a;
也許一個更好的想法是某種形式的循環:
use strict;
use warnings;
my @a;
for(;;) {
my $input = <STDIN>;
last if not defined $input;
chomp $input;
push @a, $input;
}
,當你在Unix <EOF>
(這通常是默認設置爲Ctrl-D
)型這將結束。
好像你是在Windows上。在Windows上,您必須點擊Control-z上的空行,然後點擊Enter。
在空行上點擊'Ctrl + d',或點擊兩次。在MSWin上,使用'Ctrl + z'。 – choroba
您使用的符號意味着'直到EOF',因此您必須提供EOF指示,這意味着在空行輸入control-D或control-Z或在非空行上輸入兩次字符。如果您不想'直到EOF'讀取,請使用不同的方式讀取數據。 –