Perl简写疑惑

Perl简写疑惑,第1张

概述我从来没有真正学过Perl的任何深度,但我正在通过我的工作做一个课程(我能说“只是为了好玩吗?”). 我理解基础知识没有任何重大问题,但我现在正在学习参考文献和速记.我对数组的速记和访问引用值有疑问,请考虑下面的两个脚本: > @Codes = ( ["A1W", ["A2Q","A2Z"]], ["B2R","BB3"] 我从来没有真正学过Perl的任何深度,但我正在通过我的工作做一个课程(我能说“只是为了好玩吗?”).
我理解基础知识没有任何重大问题,但我现在正在学习参考文献和速记.我对数组的速记和访问引用值有疑问,请考虑下面的两个脚本:

>

@Codes =        (         ["A1W",["A2Q","A2Z"]],["B2R","BB3"]        );$CodeRef = \@Codes;#full notationprint @{@{@{$CodeRef}[0]}[1]}[1],"\n";#shorthand notationprint $CodeRef->[0]->[1]->[1],"\n";

>

my $BookPageArray;{        $AnotherArray = [24,18,36];         $Reference = $AnotherArray;         $BookPageArray = $AnotherArray;         $AnotherArray = [53,256,42];  count drops to 0}undef $Reference;print ${$BookPageArray}->[0]."\n";

我的问题是为什么在第二个例子中,最终print语句中的$BookPageArray引用需要在它周围使用大括号,而在第一个示例中,$CodeRef引用不是?

如果我在第二个例子中取出大括号和前面的$符号,它告诉我那个引用没有数组……

是否与第二个示例使用匿名数据这一事实有关?

解决方法 你可以删除curlIEs:

$$BookPageArray->[0]."\n";

你需要两个$s,因为BookPageArray是对数组引用的引用.所以第一个’$’获取对数组的引用,箭头取消引用并索引数组.

总结

以上是内存溢出为你收集整理的Perl简写疑惑全部内容,希望文章能够帮你解决Perl简写疑惑所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1268554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存