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