Function 那$$var是什么意思?

Function 那$$var是什么意思?,function,perl,variables,Function,Perl,Variables,首先,我是Perl的初学者。我想知道这个代码是什么意思 sub function { my $var1 = shift; my $var2 = shift; if ($$var1) { #code } else { #code } } 我知道它是一个函数,var1是函数的第一个参数,var2是第二个参数。但if语句中的$$是什么意思 这意味着$var1是散列?$$var1是${$var1}的缩写

首先,我是Perl的初学者。我想知道这个代码是什么意思

sub function
{
    my $var1 = shift;
    my $var2 = shift;

    if ($$var1)
    {
        #code
    }
    else
    {
        #code
    }
}
我知道它是一个函数,var1是函数的第一个参数,var2是第二个参数。但if语句中的$$是什么意思


这意味着$var1是散列?
$$var1
${$var1}
的缩写

$NAME
$BLOCK
是访问标量而不是散列的语法

$NAME
直接访问变量

$BLOCK
通过引用间接访问变量

所以,

  • $var1
    是一个标量
  • $var1
    应包含对标量的引用(例如
    $var1=\$var2;

请注意,使用对标量的引用真的很奇怪(就像这个子组件一样)。

不。这并不意味着
$var1
是散列。没有哈希查找括号。这意味着,
$var1
是对标量的引用。@DaveCross能回答这个问题吗?