![](/img/trans.png)
[英]Assign number to variable in perl subroutine [assign returned list to variables]
[英]Indexing a list returned by a subroutine - Syntax
鉴于我有以下错误代码:
my $this_is_easier = caller(0)[0];
为什么我必须执行以下操作才能进行编译?
my $this_is_easier = (caller(0))[0];
这只是Perl解析器的细微差别吗? 在其他语言(如Python和C ++)中,假定该函数将返回可索引的内容。
当[]
跟随另一个索引时,它意味着取消引用。
$foo[...][...] means $foo[...]->[...]
当()
跟随另一个索引时,则表示取消引用。
$foo[...](...) means $foo[...]->(...)
因此,人们期望是非常合理的
foo(...)[...]
意思是
foo(...)->[...]
而不是
( foo(...) )[0]
期望的差异可能是不被支持的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.