如何从perl获取单个数组元素

时间:2013-04-18 07:15:51

标签: perl

以下是Dumper($resultSet);

的输出
$VAR1 = bless( {
                 'rows' => [
                             bless( {
                                      'columns' => [
                                                     bless( {
                                                              'columnName' => 'TABLESCHEMANAME',
                                                              'columnValue' => 'FROM_PERL'
                                                            }, 'abc::TColumn' )
                                                   ]
                                    }, 'abc::TRow' )
                           ]
               }, 'abc::TResultSet' );

如何在columns数组上进行迭代。

1 个答案:

答案 0 :(得分:3)

您要访问的数据封装在abc::TResultSet类型的对象中。此类应具有允许访问其成员的API。绕过封装通常是一个坏主意,即使你可以很容易地这样做。


如果您没有处理对象而只处理嵌套数据结构,则可以检索所需的arrayref,并取消引用它以循环它:

for my $row (@{ $VAR1->{rows} }) {
  for my $cell (@{ $row->{columns} }) {
    my ($name, $value) = @{$cell}{qw/columnName columnValue/}; # a hash slice
    ...;
  }
}