迭代Perl中的祝福对象
发布时间:2020-12-16 06:16:50 所属栏目:大数据 来源:网络整理
导读:我正在研究一些使用BigIP :: iControl模块查询F5负载均衡器的代码. 现在,当我从特定函数返回的变量上执行Dumper时,我得到以下输出. 我在迭代这个对象时遇到了很多麻烦. 我怎么能迭代这个并且只为每个成员取出monitor_status? $VAR1 = [ bless( [ bless( { '
我正在研究一些使用BigIP :: iControl模块查询F5负载均衡器的代码.
现在,当我从特定函数返回的变量上执行Dumper时,我得到以下输出. 我在迭代这个对象时遇到了很多麻烦. 我怎么能迭代这个并且只为每个成员取出monitor_status? $VAR1 = [ bless( [ bless( { 'monitor_status' => 'MONITOR_STATUS_UP','member' => bless( { 'address' => '127.0.0.0.1','port' => '8085' },'Common::IPPortDefinition' ) },'LocalLB::PoolMember::MemberMonitorStatus' ),bless( { 'monitor_status' => 'MONITOR_STATUS_UP',bless( { 'monitor_status' => 'MONITOR_STATUS_DOWN','LocalLB::PoolMember::MemberMonitorStatus' ) ],'LocalLB::PoolMember::MemberMonitorStatus[]' ) ]; 解决方法
我不确定这些成员变量是否公开 – 我不熟悉所使用的模块 – 所以这可能违反了LocalLB :: PoolMember :: MemberMonitorStatus类的封装.你应该在使用前检查.
for my $mms ( @{$VAR1->[0]} ) { warn $mms->{monitor_status}; } 最好检查MemberMonitorStatus类是否提供访问器,以及可能是成员监视器状态数组的迭代器. 上面的测试只是将您的Dumper输出粘贴到Perl脚本中,并根据眼球的数据结构实现for循环的代码. (编辑:基于Google缓存中的F5 webcentral文档,可能是MemberMonitorStatus是底层代码中的一个简单结构,在Perl中作为具有两个成员变量的类公开 – 但没有行为.如果是这样,上面可能是好.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |