2015-01-21 1 views
1

YAML::XS CPAN 모듈을 사용하고 있습니다. YAML 파일을로드하는 동안 오류가 발생하면 어떻게 오류를 검사합니까? 문서에 아무런 내용이 없음YAML :: XS 오류 검사

use YAML::XS qw/LoadFile/; 
$CONFIG_DATA = LoadFile($CONFIG_FILE); 

$ CONFIG_FILE에 구문 오류가있는 경우 의미있는 메시지를 인쇄하고 싶습니다.

당신이 오류가 발생하는 경우 문서가 LoadFile 죽을 것이라고 말씀하지 않는 것이 맞아요하지만 당신은 eval와 오류를 잡을 수
+0

모든 이유를 왜 평가 후면에 LoadFile과 통화를 포장 {} 블록이 작동하지 않습니까? –

+1

일부 구문 오류를 소개하고 오류 내용을 확인하십시오. – Axeman

+0

@PaulAllen. 팁 주셔서 감사합니다, 그것을 완전히 놓쳤습니다. 나는 지금 그 해킹을 사용했다. – sam

답변

1

:

use v5.10; 
use YAML::XS qw/LoadFile/; 
use Data::Dumper; 

my $hash = eval { LoadFile($ARGV[0]) }; 
if([email protected]) { 
    say "I found an error: [email protected]"; 
    } 
say Dumper($hash); 
관련 문제