CHAPTER 5 References and Scoping

        我们可以像标量那样复制和传递引用。而且在任何时候,Perl都知道引用数据的数量。Perl也可以创建对匿名数据结构的引用(这种数据结构没有显式的名字)而且可以为了满足特定操作而创建引用。

        数据的多个引用

        在Chapter4已经探究了对数组的引用和把这种引用放到一个新的标量上

        my @skipper = qw(blue_shirt  hat  jacket  perserver  sunscreen);

        my $reference_to_skipper = /@skipper;

        我们可以复制这个引用或者增加额外的引用,它们都将引用相同的数据

        my $second_reference_to_skipper = $reference_to_skipper;

        my $third_reference_to_skipper = /@skipper;

        上面的四种表示方式都可以访问@skipper,而且Perl会通过一种称为“引用数”来跟踪对访问数据的引用数量。

        只要愿意,并且引用数不为0,我们可以增加或删除引用,Per保持这些数据在内存中,所以可以通过其他引用来访问这些数据。

        下面看一个例子:

         check_provisions_list(/@skipper);

        这时为创建第五个引用,但当函数返回时,这个引用会自动删除。

        我们也可用其他方式来取消这种引用。例如,我们可对变量赋一undef:

        $reference_to_skipper = undef;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值