Я создаю XML, чтобы перейти к API и API возвращает это (данные сбрасывали):В perl как мне пройти через эту структуру?
(
"Data::Dump",
{
SiteDevices => {
"device" => {
1102 => { address => "1.2.3.4", riskfactor => "1.0", riskscore => "0.0" },
1136 => { address => "1.2.3.5", riskfactor => "1.0", riskscore => "0.0" },
20491 => { address => "1.2.3.6", riskfactor => "1.0", riskscore => "0.0" },
129644 => { address => "1.2.3.7", riskfactor => "1.0", riskscore => "0.0" },
129645 => { address => "1.2.3.8", riskfactor => "1.0", riskscore => "0.0" },
130408 => { address => "1.2.3.9", riskfactor => "1.0", riskscore => "0.0" },
135975 => { address => "1.2.3.10", riskfactor => "1.0", riskscore => "0.0" },
137642 => { address => "1.2.3.11", riskfactor => "1.0", riskscore => "0.0" },
},
"site-id" => 27,
},
success => 1,
},
)
я хочу Переберите и печатать устройства и IP-адреса, связанные с ними, и я для жизни меня не может придумать какой-либо код для этого. Какого черта я пропал ?! Я попытался пройти через хэш, хеш хешей и т. Д. Не могу заставить его работать. Если у кого-то из вас есть секунда и вы можете дать ответ, я могу пожать головой в позоре, что было бы потрясающе.
Я попытался:
foreach my $key (keys %{ $output->{‘SiteDevices’}->{‘device’} }) {
print $key
print $key->{‘address’}
}
и
foreach my $key (keys %{ $output{‘SiteDevices’}{‘device’} }) {
print $key
print $key{‘address’}
}
но ни работы.
Сколько записей 'SiteDevices' находится в выводе? Только один? – stevieb
Это выглядит подозрительно, как разбор XML. Это случайно?Если это так, я бы посоветовал вам лучше работать с потоком вверх и использовать лучший парсер. Добавьте пример XML, и вам будет намного проще дать вам лучший пример. – Sobrique