2014-04-15 6 views
2

나는 STH 같은 쓰기 싶습니다 내 펄 스크립트 파일에서'죽을 때'줄 번호를 알려주는 방법은 무엇입니까?

die "Error in file $0 line number $line_number_of_this_cmd_in_file \n"; 

합니다.

어떤 도움이 필요합니까? Thx 많이!

(펄 5)

+0

[Carp] (http://search.cpan.org/~zefram/Carp-1.3301/lib/Carp.pm)의'croak '을 확인하십시오. 'die '대신'croak'을 사용하면'perl -MCarp = verbose script.pl'로 실행할 때 전체 스택 추적을 얻을 수 있습니다. – Lucas

+0

'die'가 이미 회선 번호를보고합니다. 번호를 변경 하시겠습니까? – perreal

답변

7

은 아주 쉽다는 것을 : 줄의 끝에서 \n을 삭제하고 die은 스크립트의 이름과 줄 번호로 쓴 어떤 메시지를 추가합니다. 예를 들어 :

die "Encountered error 15 "; 

는 인쇄가 발생합니다 :

"Encountered error 15 at script.pl line 42\n" 

이든 적용 할 수 있습니다.

9

죽기 위해 전달한 문자열의 끝에 \ n을 넣지 않으면 perl이 자동으로 줄 번호를 추가합니다.

그렇지 않으면 토큰 __LINE__이 스크립트의 현재 줄 번호를 제공하고 __FILE__은 현재 파일 이름을 제공합니다.

방금 ​​읽은 파일의 현재 줄 번호를 의미하지 않는 한 - $로 제공됩니다.

관련 문제