1
我试图处理这是由get_pool_member_object_status_($pool)
的Perl:访问和使用数组
$VAR1 = [
[
bless([
bless({
'member' => bless({
'address' => '192.168.100.141',
'port' => '80'
}, 'Common::IPPortDefinition'),
'object_status' => bless({
'availability_status' => 'AVAILABILITY_STATUS_GREEN',
'status_description' => 'Pool member is available',
'enabled_status' => 'ENABLED_STATUS_ENABLED'
}, 'LocalLB::ObjectStatus')
}, 'LocalLB::PoolMember::MemberObjectStatus'),
bless({
'member' => bless({
'address' => '192.168.100.142',
'port' => '80'
}, 'Common::IPPortDefinition'),
'object_status' => bless({
'availability_status' => 'AVAILABILITY_STATUS_GREEN',
'status_description' => 'Pool member is available',
'enabled_status' => 'ENABLED_STATUS_ENABLED'
}, 'LocalLB::ObjectStatus')
}, 'LocalLB::PoolMember::MemberObjectStatus'),
bless({
'member' => bless({
'address' => '192.168.100.143',
'port' => '80'
}, 'Common::IPPortDefinition'),
'object_status' => bless({
'availability_status' => 'AVAILABILITY_STATUS_GREEN',
'status_description' => 'Pool member is available',
'enabled_status' => 'ENABLED_STATUS_ENABLED'
}, 'LocalLB::ObjectStatus')
}, 'LocalLB::PoolMember::MemberObjectStatus'),
bless({
'member' => bless({
'address' => '192.168.100.144',
'port' => '80'
}, 'Common::IPPortDefinition'),
'object_status' => bless({
'availability_status' => 'AVAILABILITY_STATUS_GREEN',
'status_description' => 'Pool member is available',
'enabled_status' => 'ENABLED_STATUS_ENABLED'
}, 'LocalLB::ObjectStatus')
}, 'LocalLB::PoolMember::MemberObjectStatus')
], 'LocalLB::PoolMember::MemberObjectStatus[]')
]
];
以下数组我无法弄清楚这应该是如何工作的处理对象。我尝试了perldsc的几个例子。那里的例子大多涉及哈希阵列。但是上面的数组是......?我甚至不知道这是什么样的阵列。有人能指引我朝着正确的方向吗?
因此,例如,如何访问一个"member"->"address"
THX simbabque的"object_status"->"availability_status"
。这是输出,我从Data::Printer:
[
[0] [
[0] LocalLB::PoolMember::MemberObjectStatus[] {
public methods (0)
private methods (0)
internals: [
[0] LocalLB::PoolMember::MemberObjectStatus,
[1] LocalLB::PoolMember::MemberObjectStatus,
[2] LocalLB::PoolMember::MemberObjectStatus,
[3] LocalLB::PoolMember::MemberObjectStatus
]
}
]
]
它看起来像一个类型为'LocalLB :: PoolMember :: MemberObjectStatus []'的对象数组,其中包含类型为'LocalLB :: PoolMember :: MemberObjectStatus'的对象数组' – SparkeyG
的确如此,具有'bless '用Data :: Dumper转储时附加到它们是对象。如果您不知道这些方法的种类,请使用[Data :: Printer](http://p3rl.org/Data::Printer)。它会告诉你关于对象的所有信息,包括继承,值和它可以做的方法。您可能需要摆弄这些选项才能让它在深度级显示它们,但这很简单。 – simbabque
我试图理解这些类来自哪里并开始阅读[BigIP :: iControl的源代码](https://metacpan.org/source/LTP/BigIP-iControl-0.098/lib/BigIP/iControl.pm#L518 )。 **小心,也许这是NSFW!** – simbabque