是否可以將數組的引用賦值爲perl中散列表的key : value
對中的值?散列值的數組perl
回答
是的。用反斜槓創建對數組的引用:
$hash{key} = \@array;
注意,這將鏈接到實際的數組,因此,如果您執行的變化,例如:
$array[0] = "foo";
這也將意味着$hash{key}[0]
是設置爲"foo"
。
如果這不是你想要的,你可以通過使用匿名數組引用[ ... ]
複製值:
$hash{key} = [ @array ];
而且,你不必去通過陣列,以做到這一點。你可以簡單地直接分配:
$hash{key} = [ qw(foo bar baz) ];
瞭解更多關於建立引用在perldoc perlref
也許有一些關於自動版化的話?:)對初學者來說很好知道 – gaussblurinc
@loldop好的,對於初學者來說,很多知識都是很好的知識,但是,在這裏我們不是在談論自動版化,只是簡單的標量值被分配。 – TLP
我認爲你的意思是「eq'foo'」不是「=='foo'」 – mswanberg
是。見http://perlmonks.org/?node=References+quick+reference用於訪問這些數據結構的一些基本規則,而是要創造它,只是做其中的一個:
%hash = ('somekey' => \@arrayvalue);
$hash{'somekey'} = \@arrayvalue;
%hash = ('somekey' => [ ... ]);
use Data::Dumper; @name=('5/17',
'5/17','5/17','5/17','5/17','5/17','5/17','5/17'); @status_flags=('U
H L','U C','U H L','U C','U C','U H L','U C', 'U H L');
@ip_address=('192.168.0.11','192.168.0.2','192.168.0.13','192.168.0.0','192.168.0.3','192.168.0.12','192.168.0.4','192.168.0.14'); @dp_id=('0','0','0','0','0','0','0','0');
@ip_prefix_length=('32','32','32','24', '32', '32','32','32');
for ($value=0;$value<=5;$value++) {
$keyvals{'Response'}{'brocade-extension-ip-route'}{'extension-ip-route'}={'name'=>"$name[$value]"};
$keyvals{'Response'}{'brocade-extension-ip-route'}{'extension-ip-route'}={'dp-id'=>"$dp_id[$value]"};
$keyvals{'Response'}{'brocade-extension-ip-route'}{'extension-ip-route'}={'ip-address'=>"$ip_address[$value]"};
$keyvals{'Response'}{'brocade-extension-ip-route'}{'extension-ip-route'}={'ip-prefix-length'=>"$ip_prefix_length[$value]"};
$keyvals{'Response'}{'brocade-extension-ip-route'}{'extension-ip-route'}={'ip-gateway'=>'*'};
}
print Dumper \%keyvals;
Each array value assign into hash value. $var1= {
'Response' => {
'extension-ip-route' => {
'status-flags' => 'U H L '
,
'ip-gateway' => '*',
'name' => '0/2',
'ip-address' => '192.168.20.11',
'dp-id' => '0',
'ip-prefix-length'=>'32'
}
}
};
你應該編輯你的答案,以便它的格式正確和可讀。 – AeroBuffalo
- 1. 的Perl - 數組和散列
- 2. Perl:數組和散列
- 3. 散列和數組的Perl散列 - 打印數組內容
- 4. 如何更新散列數組中的值,該散列值位於perl中散列的散列中?
- 5. 的Perl:通過散列的數組子
- 6. 如果散列值在數組中,如何訪問散列值? PERL
- 7. 的Perl散列和數組引用
- 8. Perl中的引用:散列數組
- 9. Perl:查找數組散列的密鑰
- 10. Perl解析數組散列的哈希
- 11. 如何在數組散列的Perl散列中查找最小值?
- 12. Perl:散列中數組的大小,在另一個散列
- 13. 散列值的數組
- 14. 將Perl數組放入散列表
- 15. Perl Data :: Dumper散列在數組中?
- 16. Perl:如何打印散列數組,
- 17. Perl - 跨線程數組散列
- 18. Perl - 通過數組值的散列進行迭代
- 19. 在perl中填充多維數組的散列值
- 20. 打印Perl的散列鍵值(鍵是一個數組)
- 21. 散列的perl散列 - 對於eacy鍵組的內部鍵和相應的值
- 22. 散列數組返回值
- 23. 分配數組值散列
- 24. 如何將散列數組轉換爲散列值數組?
- 25. Perl - 散列散列(散列和標量)?
- 26. 如何通過散列的Perl散列中的值訪問鍵?
- 27. Perl中使用散列值是陣列
- 28. 修改在Perl的散列內散列
- 29. 將值添加到perl中的散列
- 30. Perl如何從數組散列中檢索數組?
看一看[數據結構菜譜](HTTP://perldoc.perl .ORG/perldsc.html#HASHES-OF-陣列)。 – mpe