加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在perl中使用对标量的引用?

发布时间:2020-12-15 23:22:30 所属栏目:大数据 来源:网络整理
导读:我正在学习perl引用,我理解对hases或数组的引用的有用性.但是考虑在什么场景中对标量值的引用是有用的. my $x = 1;my $sr = $x; 哪里可以使用$$sr,而不是直接使用$x? 例如,当遍历任何深度hashref结构时,如果给定节点是hashref或arrayref,则返回引用不是常
我正在学习perl引用,我理解对hases或数组的引用的有用性.但是考虑在什么场景中对标量值的引用是有用的.

my $x = 1;
my $sr = $x;

哪里可以使用$$sr,而不是直接使用$x?

例如,当遍历任何深度hashref结构时,如果给定节点是hashref或arrayref,则返回引用不是常见做法,而是直接返回标量值而不是返回对标量的引用?

存在一些函数或模块使用或返回对标量的引用,而不是返回标量的值?

解决方法

在子例程中,当您想直接修改传递给它的值时.

例如

sub increment_this {
     my ( $inc_ref ) = @_;
     ${$inc_ref}++;
}

我知道一个简单的案例,但也许更相关的是像chomp这样的例子,它从变量或$_中删除尾随字母.

如果你考虑一下 – $_通常实际上是一个参考.
如果你这样做:

my @array = qw ( 1 2 3 );
foreach ( @array ) {
    $_++;
}

print @array;

修改$_已修改数组的内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读