chdir($g_var->{g_loc});
我在一些我正在使用的perl代码中找到了这一行,我无法弄清楚->
的含义。我的意思是我无法找到语法的含义。顺便说一下,g_loc是文件夹的名称。我在这里缺少什么?
P.S。我只有4天进入 perl。
答案 0 :(得分:7)
->
正在取消引用引用。 $g_var
包含对%hash
的引用(您使用$hash{key}
访问的元素)。
您可以在perlreftut
和perlref
文档中找到有关参考的更多信息。关于列表列表(嵌套引用)也有perllol
。
您可以使用perldoc perlreftut
等打开文档。
答案 1 :(得分:5)
如果您在perlop (perl operators)上搜索http://perldoc.perl.org,则可获得以下内容。 Perldoc,它的版本经历了重大改进,坦率地说,从所有参考文献中我都喜欢这个最好的。
“
->
”是一个中缀解除引用运算符,就像在C和C ++中一样。如果右侧是[...]
,{...}
或(...)
下标,则左侧必须是对数组,散列或子例程的硬引用或符号引用分别。 (或者从技术上讲,一个能够持有硬引用的位置,如果它是用于分配的数组或哈希引用。)请参阅perlreftut和perlref。否则,右侧是方法名称或包含方法名称或子程序引用的简单标量变量,左侧必须是对象(有福的引用)或类名称(即,包裹名字)。请参阅perlobj。
答案 2 :(得分:2)
$g_var
是对哈希的引用。 指针只是查找语法,定位“g_loc”哈希条目。
如果$g_var{g_loc}
是散列而不是散列引用,则与%g_var
相同。