配列の値の参照を解除する方法を見つけようとしていますが、行き詰まってしまったので、私は問題を調べようとしましたが、助けが必要です。Perl:配列の参照を解除する
私は、ハッシュは、次のコードによって生成されるデータは、配列内に存在する、Infobloxのデータベースからいくつかのデータをつかみ、ホストエントリのMACアドレスを見つけるために、結果内を検索しようとしています:
use strict;
use Data::Dumper;
my @results = $session->get(
object => "Infoblox::DNS::Host",
name => "test.com.au",
ipv4addrs => ".*.",
view => "external"
);
データを使用して、次の出力を印刷し
foreach (@results) {
my @search = $_->ipv4addrs;
foreach (@search) {
print Dumper($_) . "\n";
}
}
:私は、次のコードを使用して出力をループ「$ _-> ipv4addrs」を使用して、データ構造の高レベルでド参照しています
: :ダンパー:
$VAR1 = [
bless({
'network' => '111.111.111.0/25',
'options' => [],
'dynamic' => 'false',
'__version' => '4.2r5-5-68691',
'VIEW_FUNCTION' => {
'remove' => '.com.infoblox.perl_api.Infoblox.DHCP.remove_fixed_address',
'search' => '.com.infoblox.perl_api.Infoblox.DHCP.search_fixed_address',
'add' => '.com.infoblox.perl_api.Infoblox.DHCP.insert_fixed_address',
'add_using_template' => '.com.infoblox.perl_api.Infoblox.DHCP.insert_fixed_address_using_template',
'get' => '.com.infoblox.perl_api.Infoblox.DHCP.get_fixed_address',
'modify' => '.com.infoblox.perl_api.Infoblox.DHCP.modify_fixed_address'
},
'ipv4addr' => '111.111.111.111',
'match_client' => 'MAC',
'mac' => '00:11:00:11:00:11',
'disable' => 'false',
'__type' => '.com.infoblox.perl_api.Infoblox.DHCP.FixedAddr'
}, 'Infoblox::DHCP::FixedAddr')
];
しかし、私は試してみて、使用して参照を呼び出す場合は、 '$ _->をMAC' 'foreachの(@searh')内のループ、私はエラーを取得:
"Can't call method "mac" on unblessed reference at ./connect_test.pl line nn."
私のコーディングスキルで失敗この点、どんな情報や方向性も高く評価されます。
私の知識ベースでかなりのギャップを埋めるZaidの例をありがとう。 – user1039417