2013-07-17 15 views

답변

14

:

[email protected]$!, $^E$?는 펄 프로그램의 실행 중에 나타나는 오류 조건의 종류에 대한 정보를 포함하는 변수. 변수는 오류를보고 한 하위 시스템과 Perl 프로세스 간의 "거리"에 따라 정렬되어 표시됩니다. Perl 인터프리터, C 라이브러리, 운영 체제 또는 외부 프로그램에서 각각 발견 한 오류에 해당합니다. 시스템 호출이 실패 할 때

3

$!가 설정됩니다.

open my $fh, '<', '/foobarbaz' or die $! 

이것은 "해당 파일 또는 디렉토리"를 출력하지 죽을 것이다.

[email protected]에는 die에 전달 된 인수가 들어 있습니다. 따라서 : 그것은 할

eval { 
    open my $fh, '<', '/foobarbaz' or die $! 
}; 
if ([email protected]) { 
    warn "Caught exception: [email protected]"; 
} 

아무 의미가 eval의 일부 양식을 사용하지 않고 [email protected]을 확인 없습니다 그것을 당신이 오류의 경우에 설정할 수있는 함수를 호출하지 않은 경우 $!을 확인 감지 할 수 있습니다.

관련 문제