2012-01-27 48 views
0

我有下面的代碼返回一個數組的引用與一個元素。該元素包含對散列的引用。我想消除這個雙重引用,並且使用散列副本或直接在散列本身上工作,以便我可以使用這些鍵。Perl從引用獲取哈希引用到包含引用的數組

下面的代碼:

my $extracted = $db_obj->extract('source_tag', $source_tag); 

所以$提取包含數組的引用。該數組具有單個元素,即對散列的引用。哈希是這樣的,當我用數據::自卸車:

$VAR1 = \\[ 
       { 
       'data_center' => 'qe76', 
       'description' => 'locator', 
       'abs_delta_dollar_percent' => undef, 
       'content_type' => 'Raw', 
       'source_tag' => 'hg9efx4', 
       'producer' => 'partner', 
       'id' => '15282', 
       'storage_type' => 'box', 
       'storage_path' => '/mnt/storage/2012' 
       } 
      ]; 

我希望能夠直接訪問哈希這樣我就可以使用鍵來獲取值。我如何刪除這個雙引用?

回答

1
my %hash = %{ $db_obj->extract('source_tag', $source_tag)->[0] } ; 
+0

這樣做。非常感謝。 – 2012-01-27 18:16:50

+0

@phileasfogg不客氣。 – dgw 2012-01-27 18:19:52

1
my $extracted = $db_obj->extract('source_tag', $source_tag) -> [0]; 
0

這似乎是:

$$$$result[0] 
or 
$$$result[0] 

,如果你並不意味着雙反斜線。