2015-02-01 3 views
-1

해시 레코드 배열을 응답으로 반환하는 webservice를 호출합니다.Perl 해시 배열의 요소 계산

my $ triggers = $ zabbix-> raw ('trigger', 'get', $ options); 인쇄 Dumper ($ 트리거);

 $VAR1 = [ 
     { 
     'lastchange' => '1422765352', 
     'triggerid' => '10430011' 
     }, 
     { 
     'lastchange' => '1422617151', 
     'triggerid' => '604979' 
     }, 
    ] 

때때로 내가 응답으로 만 1 레코드를 가져 다음과 같이

덤퍼 출력이다. 반환 된 레코드 수를 어떻게 계산합니까?

나는 $ trig_count = @ {$ triggers}를 사용해 보았습니다. 그러나 레코드 세트가 하나만 반환되면 실패합니다. 두 경우

+4

당신이 무엇을 의미합니까는'이 실패 '$ trig_count'에'1'을줍니다. 너는 무엇을 기대 하느냐? – Toto

+3

레코드가 하나 뿐인 덤퍼 출력은 무엇입니까? 나는 배열이 없다고 추측한다. – ysth

답변

0

데이터가 하나의 해시 심판 또는 배열 참조 중 하나 인 경우 작동합니다

제안 : 단지 한 기록이있는 경우

my $trig_count = ref $trigger eq 'HASH' || scalar @$triggers;