内のオブジェクトにアクセスし、ハンドリング私はこれがどのように動作するかを把握することができませんでしhttp://search.cpan.org/~ltp/BigIP-iControl/lib/BigIP/iControl.pm#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[]')
]
];
からget_pool_member_object_status_($pool)
によって生成された以下の配列を処理してみてください。私は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