Perl 理解标量声明

Perl 理解标量声明,perl,Perl,我正在编写一些不是我的perl代码。我遇到了这一行,我不知道它在做什么: my $sum = []; 我只是不明白这个标量被设置为什么。来自: 如果只写[],则会得到一个新的空匿名数组。如果你 只写{},你会得到一个新的、空的匿名哈希 从: 如果只写[],则会得到一个新的空匿名数组。如果你 只写{},你会得到一个新的、空的匿名哈希 基本上是一条捷径 do { my @anon = ( LIST ); \@anon } 它创建一个用封闭表达式(如果有)的结果初始化的数组,并返回对该数组的引用

我正在编写一些不是我的perl代码。我遇到了这一行,我不知道它在做什么:

my $sum = [];
我只是不明白这个标量被设置为什么。

来自:

如果只写[],则会得到一个新的空匿名数组。如果你 只写{},你会得到一个新的、空的匿名哈希

从:

如果只写[],则会得到一个新的空匿名数组。如果你 只写{},你会得到一个新的、空的匿名哈希

基本上是一条捷径

do { my @anon = ( LIST ); \@anon }
它创建一个用封闭表达式(如果有)的结果初始化的数组,并返回对该数组的引用

基本上是一条捷径

do { my @anon = ( LIST ); \@anon }

它创建一个用封闭表达式(如果有)的结果初始化的数组,并返回对该数组的引用。

一般不接受只发布一些文档副本的答案,但是(除了名为
$sum
的变量被初始化为对空数组的引用的原因!)我认为这就是所有需要说明的问题。发布一个答案,仅仅是一些文档的副本是不可接受的,但是(除了为什么一个名为
$sum
的变量被初始化为对空数组的引用!)我认为这就是所有需要说明的问题。我认为不知道
[]
does更不可能理解
do{my@anon=(LIST);\@anon}
!我明白了。它是对匿名数组的引用。不确定您的示例如何生成数组引用。@Borodin,恰恰相反。如果不知道如何创建数组并创建对它的引用,就不可能理解
[]
!很可能有人也不明白,这就是为什么我在结束文章时没有解释他们的行为。@Darwin,Re“这是对匿名数组的引用。”不。就像我说的,它创建了一个数组并引用了它。@Borodin,这一点没有得到证实。警察也不知道。至于
LIST
,这是一个Perl约定,我想不出更好的约定了。如果你不明白,你可以简单地阅读解释。别再假装帖子的长度只有实际长度的一半了。我不希望OP知道代码的第二个版本;我希望他能熟悉它。这是我为他做的一件事。我认为一个不知道
[]
做什么的人更不可能理解
做什么{my@anon=(LIST);\@anon}
!我明白了。它是对匿名数组的引用。不确定您的示例如何生成数组引用。@Borodin,恰恰相反。如果不知道如何创建数组并创建对它的引用,就不可能理解
[]
!很可能有人也不明白,这就是为什么我在结束文章时没有解释他们的行为。@Darwin,Re“这是对匿名数组的引用。”不。就像我说的,它创建了一个数组并引用了它。@Borodin,这一点没有得到证实。警察也不知道。至于
LIST
,这是一个Perl约定,我想不出更好的约定了。如果你不明白,你可以简单地阅读解释。别再假装帖子的长度只有实际长度的一半了。我不希望OP知道代码的第二个版本;我希望他能熟悉它。这是我为他做的一件事