在perl中访问数组元素时,@和$有什么区别?[重复]

问题描述 投票:0回答:1

我有2个关于perl变量的基本问题。

@names = ('Super_!','Massive_@',"Black#", "Hole*");
print "Top Player: @names[0]\n";
print "Top Player: $names[0]\n";

虽然输出没有区别,但在试图访问元素@和$时,实际的区别是什么。

另外,在声明字符串数组时,用单引号和双引号定义元素有什么区别?

arrays perl variables scalar
1个回答
0
投票

如你所知 @ 指向 array$ 签到 scalar.

由于你要访问一个数组中的元素,而这个元素是 scalar 最好使用 $ 否则你会得到一个警告,如果你定义了 use warnings;.

换句话说,在Perl中,变量的前缀代表你想拥有的东西,而不是你拥有的东西。

--

单人 ' 和双引号 " 都用于定义字符串,但双引号 "hello $name" 允许您使用 串插.

© www.soinside.com 2019 - 2024. All rights reserved.