@ $和$$在Perl中意味着什么?

时间:2011-06-15 20:09:51

标签: perl variables syntax

好的,关于奇怪语法的两个问题。我正在研究一些需要修改的旧Perl代码,我遇到了以下几行:

@$tmp=split(/,/,$tmpVals);

我不知道怎么读这个,看起来RHS正在拆分变量字符串,所以没关系,但它是左手边我被抛出。世界上的@$是什么,据我所知,它不是默认变量。有人知道它的意义吗?

然后有$$,我读过的通常代表Perl PID。但是,在这种情况下,它出现在veriable / assignment语句之前。它有相关的影响吗?

$$tmp=$row[1];

提前致谢。

1 个答案:

答案 0 :(得分:15)

您所看到的不是特殊的perl变量,而是引用的实例。它们在perlref中描述。

这些是符号引用:如果$tmp包含“myvar”,则将分配变量@myvar。这同样适用于第二个例子。