为什么在Perl中访问数组和哈希元素时需要$?

前端之家收集整理的这篇文章主要介绍了为什么在Perl中访问数组和哈希元素时需要$?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
由于数组和散列只能包含Perl中的标量,为什么在访问数组或散列元素时必须使用$来告诉解释器该值是标量?换句话说,假设你有一个数组@myarray和一个哈希%myhash,你为什么需要做:
$x = $myarray[1];
$y = $myhash{'foo'};

而不是只是做:

$x = myarray[1];
$y = myhash{'foo'};

为什么上述含糊不清?

如果不是Perl代码,那不是非法的Perl代码?例如,在Perl中不是全部都是非法的?

@var[0];
@var{'key'};
%var[0];
%var{'key'};

解决方法

切片不是非法的:
@slice = @myarray[1,2,5];
@slice = @myhash{qw/foo bar baz/};

我怀疑这是您需要指定是否要从hash / array中获取单个值的一部分原因.

猜你在找的Perl相关文章