Perl引用,解引用的对比总结(转)

Perl引用,解引用的对比总结

 

 

标量

数组

散列

函数

定义符号

$

@

%

&

定义

$test

@test

%test

Sub test

使用

$test = ‘a’

@test = (1,2,3)

%test = (‘a’=>1,’b’=>2)

Sub test{ code }

元素/使用

-

$test[n]

$test{key}

&test(param)

元素符号

-

[..]

{..}

(..)

引用

/$test

/@test

/%test

/&test

*引用1

*test{SCALAR}

*test{ARRAY}

*test{HASH}

*test{CODE}

解引用

符号解

${/$test}

@{/@test}

%{/%test}

&{/&test}

箭头解

-

$test->[n]

$test->{key}

$test->(param)

$

-

${/@test}[n]

${/%test}{key}

-

匿名创建

-

 $test=[1,2,3,4]

$test={‘a’=>1,’b’=>2}

$test=sub{ code }

 

1. 传递文件句柄时,*号作为文件句柄的定义符号, 例如

 

open(MYFILE,">test.123");

print MYFILE 123;

splutter(*MYFILE);

#   /*MYFILE = *MYFILE

close(MYFILE);

sub splutter {

my $fh = shift;

print $fh "her um well a hmmm/n";

}


2. 隐藏的箭头: 每一对花括号或方括号之间,隐藏着一个 ->  , 包括 {}[] 或者 []{},下面的例子
 
#!perl -w
use strict;
my $ref_to_AoA = [
    [ "fred", "barney", "pebbles", "bamm bamm", "dino"],
    [ "homer", "bart", "marge", "maggie"],
    [ "george", "jane", "elroy", "judy"],
];
my @Aoa = (
      ["fred", "barney"],
      ["george", "jane", "elroy"],
      ["homer", "marge", "bart"],
      {"test"=>"aaa","test2"=>"bbb"}
);
print $ref_to_AoA->[2][3]; # 等价于 $ref_to_AoA->[2]->[3];
print $Aoa[3]{"test"}; # 等价于 $Aoa[3]->{"test"}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值