Perl中@array – > [4]或%hash – > {key}行为的文档在哪里?

前端之家收集整理的这篇文章主要介绍了Perl中@array – > [4]或%hash – > {key}行为的文档在哪里?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最近的一个问题使用了sigil不变语法%hash-> {key} = 1;对于散列访问,这似乎工作正常,但我认为这将是一个语法错误.

它似乎也适用于数组:

my @array;

@array->[3] = 6;

这种行为是否记录在某处?我不记得读它,但可能忽略了它.

它似乎表现得如下:

(\%hash)->{key}

而不是我会假设的:

(scalar %hash)->{key}  # runtime error

解决方法

似乎这在perlmonks: http://www.perlmonks.org/?node_id=171177中有所涉及

My reading of perlop has me convinced that this is an unintended
syntactic feature.

And that's exactly what it is. When using the arrow,Perl will see
whatever is left of it as a reference. Including if you have something
like @l or %h.

Note that you will get the warning
Using an array as a reference is deprecated in Perl 5.8.0.

  Abigail

猜你在找的Perl相关文章