私は(データはダンプ)このAPIとAPIリターンに渡すXMLを作成しています:私の人生のために私はをループにしたい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を印刷し、Iそれを行うためのコードを思いつくことはできません。一体何が欠けているのですか?私はハッシュ、ハッシュのハッシュなどをループしようとしました。それが動作することは決してできません。もしあなたのいずれかが秒を持っていて、答えを与えることができるなら、私は驚くべきことに頭を振ることができます。
私が試してみました:
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