• perl 中的引用


    perl 语言中的引用共分为两类:

    声明引用时只需要在对象的前面加上反斜杠

    第一列是数组的引用:

    代码示例:

    my @array     = (1, 2, 3);
    my $array_ref = @array;

    第二种是哈希的引用

    代码示例:

    my %hash     = (1, 2, 3, 4);
    my $hash_ref = @hash;

    通过引用去访问对应的值,通过 -> 操作符

    数组的引用, 通过 [ ] 中括号 加上对应的下标,代码示例:

    my @array     = (1, 2, 3);
    my $array_ref = @array;
    print $array_ref->[0];

    哈希的引用,通过{}  大括号加上对应的key,代码示例:

    my %hash     = (1, 2, 3, 4);
    my $hash_ref = @hash;
    print $array_ref->{1};

    当我们想要把引用对应的变量传递给另外一个变量时,就需要解引用,使用 { } 大括号

    代码示例:

    my @array     = (1, 2, 3);
    my $array_ref = @array;
    my @array_new = @{$array_ref};
    
    my %hash     = (1, 2, 3, 4);
    my $hash_ref = @hash;
    my %hash_new = %{$hash_ref};

    数组的引用通过 @ 符号 , 哈希的引用通过 % 符号;

    引用实际上存储的是所引用对象的地址,举个例子

    perl -e 'my @a = (1, 2, 3, 4);my $b = @a;print qq{$b
    };'
    ARRAY(0x122bae8)
    
    
    perl -e 'my %a = (1, 2, 3, 4);my $b = \%a;print qq{$b
    };'
    HASH(0x262dae8)

    从上述代码的运行结果可以看出,数组的引用对应的值是 ARRAY+ 地址,哈希的引用是HASH+ 地址,这里的地址是一个16进制的值

    除了使用 符号, 声明一个引用外,还可以声明一个匿名引用, 数组的引用使用 [  ] 操作符, 哈希的引用使用 {  } 操作符;

    代码示例:

    my $array_ref = [1, 2, 3, 4];
    my $hash_ref  = {1, 2, 3, 4}
    
    print $array_ref->[0];
    print $hash_ref->{1};
  • 相关阅读:
    10.31JS日记
    10.24JS日记
    10.23JS日记
    10.22JS日记
    10.19JS日记
    10.18JS日记
    Tomcat—Bad Request
    2016年上半年总结
    线程间操作无效
    压缩字符串的函数
  • 原文地址:https://www.cnblogs.com/xudongliang/p/7059849.html
Copyright © 2020-2023  润新知