Использую JSON::RPC::Client. В объектном Perl я не силён. Как лучше обрабатывать JSON-ответ? Сейчас я делаю так:
Но чувствую, что можно как-то красивее, чем foreach my $a1 (@arr1) и т.п. Подскажите, пожалуйста.
Code:
my $object = {
jsonrpc => '2.0',
id => $object_id++,
auth => $sessionid,
method => 'hostgroup.get',
params => {
'output' => 'extend',
'filter' => {
'name' => [ $group_name ]
}
}
};
my $res = $client->call($url, $object);
if ($res) {
if ($res->is_error) {
handle_error("Error: ". to_json($res->error_message));
}
else {
my @arr1 = @{$res->result};
foreach my $a1 (@arr1) {
my @arr2 = $a1;
foreach my $a2 (@arr2) {
my %h = %{$a2};
if ($h{'name'} eq $group_name) {
print "In get_hostgroup_by_name: found group name=", $h{'name'}, "\n";
return(1);
}
}
}
return(0);
}
}
else {
handle_error("Error: ". to_json($client->status_line));
}