2013-12-20 2 views
1
내가 리눅스에서 실행하면 아래의 코드 블록에

...for 루프 근처에 Perl 구문 오류가 있습니까?

my $source = 'BAD-IP-Addresses-LABEL'; 
my $type_description = 'honeypots-for-examnple'; 

open(FP, 'your-csv-file.csv') 
for my $line (<FP>) { 
    my ($hostname, $ip, $something1, $something2) = split(/,/, $line); 
    print OUT "$source $type_description $ip #FF0000 0 90 29\n"; 
} 
close(FP); 

가 나에게 가득 지식에 대한 오류

syntax error at ./seculert_rest_qradar.pl line 131, near "$line (" 
syntax error at ./seculert_rest_qradar.pl line 135, near "}" 
Execution of ./seculert_rest_qradar.pl aborted due to compilation errors. 

내가 chmod를 755으로 스크립트를 실행 해요를 던졌습니다 어떤 스크립트가 가야합니까 there.

친절히 제안.

+7

이 질문은 누락 된 세미콜론에 관한 것입니다. – geoffspear

+0

@Wooble 나는 그것이 실제 종결 카테고리인지는 몰랐습니다. –

+2

@HunterMcMillen : SO devs가 우리의 "너무 지역화 된"것을 훔 쳤기 때문에 사용자 정의 이유가 있습니다. 그리고 그들은 한 캐릭터의 오타가 중재자의주의를 끌기 위해 거짓으로 표시되어야한다고 말했을 때 사용자 정의 이유입니다. – geoffspear

답변

4

당신은 당신의 OPEN 문 뒤에 세미콜론 누락 :

open(FP, 'your-csv-file.csv') for my $line 
:이 정도는 완벽하게 유효 펄 때문에

my $source = 'BAD-IP-Addresses-LABEL'; 
my $type_description = 'honeypots-for-examnple'; 

open(FP, 'your-csv-file.csv') # <-- here 
for my $line (<FP>) { 
    my ($hostname, $ip, $something1, $something2) = split(/,/, $line); 
    print OUT "$source $type_description $ip #FF0000 0 90 29\n"; 
} 
close(FP); 

당신은, for 루프로 도중에 때까지 구문 오류가 발생하지 않습니다

+0

이상적인 이유에 대한 언급을 추가하십시오 (구문 오류입니다.) – ysth

+0

사실 자신을 완전히 확신하지 못합니다. –

관련 문제