如果有人能帮助我,我会非常感激。目前我正在努力将一些旧的Perl脚本转换为C#,但在这样做的过程中,我不断遇到以下语法中的代码:
$w{$x}->{y} = $z
我理解Perl中hash的基础知识,但我对Perl一般都是新手,我无法在任何地方找到这样的例子。
这只是保存对散列中键值的引用吗?
答案 0 :(得分:0)
它表示您的哈希值%w
包含密钥$x
。密钥$x
后面的值是对另一个哈希的引用。因此,您可以使用->
来尊重它,以便访问密钥y
。密钥y
的值设置为$z
的值。
所以看起来像:
%w = ($x => {'y' => $z})
注意:{}
表示哈希引用。 (基本上是指向哈希的指针)。
答案 1 :(得分:0)
向后工作,它将$z
的值分配给哈希引用的键y
,其中该引用分配给名为{{1}的哈希的键$x
}。
%w
在Perl中,列表类型数据结构的值只能是标量项(单个实体),因此散列的第一级下的所有内容都必须是引用。引用只是一个标量值,它包含一个指针'到有问题的项目。