理解引用和引用的语法

1.创建引用

创建引用的方法很多,最简单的就是用反斜杠操作符作用于一个变量

my $scalar_ref = \$a ;
my $array_ref  =  \@a;
my $hash_ref  =  \%a;
my $sub_ref    =  \&a;
my $glob_ref   =  \*a;

而对每个列表取引用的话,返回的是列表中每个元素的引用组成的新列表,而非列表本身的引用。

my $ref4 = \(1 .. 3);  #指向数据3

匿名数组的构造用方括号

my $a_ref = [ 1 .. 3 ] ;

而类似的,匿名散列的构造语法使用花括号,向下面这样:

my $h_ref = {anonymous => 'user'};
$h_ref->{'joe'} = 'bloe';
$href->{'john'} = 'public';

定义子程序时如果没有给出名字,则返回匿名子程序引用。

my $greetings = sub {print  "hello,world!\n"};
$greetings->();

 

2.使用引用

不管是何种类型的引用,Perl都会像处理标量一样处理它们。

引用其实还包含有目标对象的类型信息,我们可以用ref操作符获得该信息。

my $s_ref = \1 ;
print ref $s_ref ;

#而匿名子程序的引用,打印出来的就是CODE

my $c_ref  = sub {'code!'};
print ref $c_ref ;

转载于:https://www.cnblogs.com/tjxwg/archive/2013/04/25/3041960.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值