2013-08-20 11 views
0

perl에서 콘솔의 여러 줄을 읽는 방법?콘솔에서 여러 줄 읽음

나는 @a = <STDIN>을 사용했습니다. 그러나 나는 그 진술에서 나올 수 없다. Evertime 나는 새로운 라인으로 간다. 입력을 끝내기 위해 ctrl+d을 읽었지만 작동하지 않는 것 같습니다.

누구든지 도와 주셔서 감사합니다. 어떤 도움이라도 대단히 감사하겠습니다.

use strict; 
use warnings; 

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

당신이 (보통 기본적으로 Ctrl-D로 설정) 유닉스 <EOF>에 입력 할 때이 종료됩니다

+1

빈 줄에 'Ctrl + d'를 누르거나 두 번 누르십시오. MSWin에서는 'Ctrl + z'가 사용됩니다. – choroba

+1

사용 된 표기법은 'EOF까지 읽기'를 의미하므로 EOF 표시를 제공해야합니다. 즉, 빈 줄에 control-D 또는 control-Z를 입력하거나 비어 있지 않은 줄에 문자를 두 번 입력하는 것을 의미합니다. 'EOF까지 읽기'를 원하지 않으면 다른 방법으로 데이터를 읽으십시오. –

답변

0

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

print @a; 
2

아마 더 좋은 생각이 어떤 종류의 루프 될 것입니다. Windows에서처럼 당신은 while 루프를 사용할 수 있습니다

0

보인다. Windows의 경우 공란에 입력하고 을 입력하십시오.