2013-04-18 47 views
0

繼獲得獨立的數組元素是的Dumper($resultSet);如何從perl的

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

我如何在迭代器陣列columns輸出。

回答

3

要訪問的數據封裝在類型爲abc::TResultSet的對象中。這個類應該有一個API來允許訪問其成員。即使你可以很容易地做到這一點,繞開封裝通常也是一個壞主意。


如果你不處理對象,但只是嵌套數據鋼結構製品,您可以通過它獲取你想要的數組引用,並取消對它的引用循環:

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

TResultSet是由Apache節儉返回呼叫。包abc :: TResultSet; use base qw(Class :: Accessor); abc :: TResultSet-> mk_accessors(qw(rows)); – Avinash 2013-04-18 08:32:16