2015-02-01 4 views
-1

Я звоню в веб-сервис, который возвращает массив хеш-записей в качестве ответа.Perl Количество элементов в массиве хэша

my $ triggers = $ zabbix-> raw ('trigger', 'get', $ options); print Dumper ($ триггеры);

выход Хранитель выглядит следующим образом

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

Иногда я получаю только 1 запись в качестве ответа. Как подсчитать количество возвращенных записей?

Я попытался использовать мой $ trig_count = @ {$ триггеры}; но это не удается, если возвращается только один набор записей.

Предложения, которые будут работать в обоих случаях

+4

Что вы имеете в виду 'это терпит неудачу, когда есть только одна запись set received. 'Он работает очень хорошо и дает' 1' в '$ trig_count'. Что вы ожидаете? – Toto

+3

Что такое вывод самосвала, где есть только одна запись? Я предполагаю, что тогда нет массива ... – ysth

ответ

0

Если данные либо один хэш ссылок или ссылки на массив:

my $trig_count = ref $trigger eq 'HASH' || scalar @$triggers; 
Смежные вопросы