Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
理解perl中的上下文_Perl - Fatal编程技术网

理解perl中的上下文

理解perl中的上下文,perl,Perl,我正在学习Perl编程,并了解Perl的一些基础知识。根据我的理解,若数组被分配给标量,它将在标量中存储元素的数量。然而,我不清楚散列的含义。例如,我看到这一行: my $variable = {}; 我无法理解,这个$variable如何仍然作为散列工作?这里缺少什么?{}创建一个hashref,它是一个标量 您需要取消对它的引用以访问其中的项 my $hashref = { foo => 1 }; say $hashref->{foo}; my %hash = ( foo =

我正在学习Perl编程,并了解Perl的一些基础知识。根据我的理解,若数组被分配给标量,它将在标量中存储元素的数量。然而,我不清楚散列的含义。例如,我看到这一行:

my $variable = {};

我无法理解,这个
$variable
如何仍然作为散列工作?这里缺少什么?

{}
创建一个hashref,它是一个标量

您需要取消对它的引用以访问其中的项

my $hashref = { foo => 1 };
say $hashref->{foo};

my %hash = ( foo => 1 );
say $hash{foo};

有关更多详细信息,请参见。

{}
创建一个标量hashref

您需要取消对它的引用以访问其中的项

my $hashref = { foo => 1 };
say $hashref->{foo};

my %hash = ( foo => 1 );
say $hash{foo};

有关更多详细信息,请参阅。

{}不是哈希,而是哈希引用。此问题与上下文无关。我的错。我现在明白了。我来自Python背景,因此感到困惑。
{}
不是散列,而是散列引用。这个问题与上下文无关。我的错。我现在明白了。我来自Python背景,因此感到困惑。