2013-04-30 3 views
5

나는 이해할 수없는 Perl 스크립트를 가지고있다.

for $i(@myarr) 
{ 
    #some stuff 
    eval { 
     #some stuff 
    }; 
    if([email protected]) 
    { 
     print "*** [email protected] ****"; 
    } 
} 
  1. 평가는 어떤 기능을 수행합니까 것을? 그것은 표준 Perl 명령인가요?
  2. 변수 $ @는 무엇입니까? 현재 문자열을 인쇄하고 있지만 문자열의 출처를 알지 못합니다.
+2

http://perldoc.perl.org/functions/eval.html –

답변

7

이 Suic의 대답에 추가하려면이 문서를 참조하십시오, 당신은 더 자세한 설명 $EVAL_ERROR 대신 [email protected]의 사용 일반적인 함정을 피하기 Try::Tiny 또는 TryCatch 모듈은 예외 처리에 대한 eval 사용과 관련된 할 수있는 English 모듈을 참조하십시오. 또한 다음에 Perl 함수에 대해 궁금해 할 때는 perldoc -f이 친구입니다 (예 : perldoc -f eval).

+0

추가 정보를 보내 주신 고맙습니다. perldoc -f에 관한 , 내 해석기에서 실행해야합니까? perl -v에서 Perl의 버전을 쉽게 감지 할 수있는 Hamilton C Shell을 사용하고 있지만 명령을 실행할 수 없습니다. –

+0

Windows 용 Perl에 대해서는 잘 모르겠다. 죄송합니다. 당신은 항상 "perldoc foo"에 대해서 구글을 사용할 수 있습니다. – zoul

6

[email protected] 마지막 eval, do-FILE 또는 require 명령의 Perl 구문 오류 또는 루틴 오류 메시지. 설정된 경우 컴파일이 실패하거나 die 함수가 eval의 코드 내에서 실행되었습니다. http://perldoc.perl.org/perlvar.html

+0

답변 해 주셔서 감사합니다. eval이 무엇을하는지 이해했습니다. –

관련 문제