我想在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");
谢谢:)
答案 0 :(得分:1)
使用以下语法。如果传递了哈希引用,则忘记旧内容,如果提供两个参数,则添加键值对。
$hash_of_structs{one}->hash({'A', 'a', 'B', 'b'});
$hash_of_structs{one}->hash('key', 'value');