如何在Perl中使用散列哈希?

时间:2013-08-23 08:47:31

标签: perl hash struct

我想在Perl中构建一个具有散列和变量的结构,然后创建一个散列,每个字段将包含我创建的结构。 像这样:

use Class::Struct;

struct exmpl => {hash=>'%' , val => '$'}; 
my %hash_of_structs;
$hash_of_structs { "one" } = exmpl -> new ();

现在,hash_of_structs有一个包含struct exmpl的“one”键的字段。 我的问题是如何将新值推入结构内部的哈希值?

我想到了如何使用struct中的值:

$hash_of_structs { "one" } -> val ("1");
printf ( "The value is: %d\n",$hash_of_structs { "one" }-> val );

但它与结构中的哈希的工作方式不同。我试过了:

$hash_of_structs { "one" } => hash{"uno"}("1");

谢谢:)

1 个答案:

答案 0 :(得分:1)

使用以下语法。如果传递了哈希引用,则忘记旧内容,如果提供两个参数,则添加键值对。

$hash_of_structs{one}->hash({'A', 'a', 'B', 'b'});
$hash_of_structs{one}->hash('key', 'value');