假设我将一个数组定义为:
my @my_array = ["hello", "world"]
在我的代码后面使用 $my_array
和 \@my_array
有什么区别吗?
我假设它们都是对 @array
的标量引用,但我想我已经看到我的一个程序的行为因我使用的程序而异。
它们之间有什么区别吗?
最佳答案
@array
是数组$var
是标量\@array
是标量 - 对数组@array
的引用
("hello", "world")
是列表(兼容@array
)["hello", "world"]
标量,对数组的引用。它与将数组("hello", "world")
存储在变量@array
中,然后从中获取引用\@array
相同.
当您使用时:
my $my_array = ["hello", "world"]
您创建变量 $my_array
,它是对数组 ("hello", "world")
的引用。
当您使用时:
my @my_array = ["hello", "world"]
您创建了一个包含单个元素的数组:引用数组 ("hello", "world")
。
关于perl - $my_array 何时不同于\@my_array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17915566/