你的变量等效于:
my $config = [
'x', [ 565, 706 ],
'y', [ 122 ],
'z', 34,
'za', 59,
];
所以,如果你想获得的706,你可以这样做:
print $config->[1][1];
按照问题
新数据更新
有了更新的问题,您现在可以访问:
say $config->[0]{x}[1];
根据新的数据结构
根据您提供的最新更新数据结构的新更新:包含本身的哈希{
my @config = [
{
'x' => [ 565, 706 ],
'y' => [ 122 ],
'z' => 34,
'za' => 59,
}
];
您分配一个匿名数组[...] ...} 到数组@config,这将填充@config 与匿名数组的第一个元素
say Dumper \@config;
$VAR1 = [
[
{
'y' => [
122
],
'za' => 59,
'x' => [
565,
706
],
'z' => 34
}
]
];
say $config[0][0]{x}[1]; #prints 706
我想你想做的事之一:
my $config = [
{
'x' => [ 565, 706 ],
'y' => [ 122 ],
'z' => 34,
'za' => 59,
}
];
say $config->[0]{x}[1]; #prints 706
my @config = (
{
'x' => [ 565, 706 ],
'y' => [ 122 ],
'z' => 34,
'za' => 59,
}
);
say $config[0]{x}[1]; #prints 706
不知道的是,逗号后`59`真的是正确的。 – Benoit 2011-01-31 13:04:17
没有逗号似乎没有问题 – Thariama 2011-01-31 13:08:59
关于Perl的好处之一是关闭逗号是可选的。这意味着您可以将其保留在那里,而无需担心在需要添加更多项目时添加它。 – 2011-01-31 13:11:14