Perl中的引用和解引用

对$scalar的引用:

my $variable;
my $reference=\$variable;

对$scalar的解引用:

$$reference;


对@array的引用:

my @array;
my $reference=\@array;

对@array的解引用:

$$reference[element];
$reference->[element];
@$reference; #to access the whole array


对%hash的引用

my %hash;
my $reference=\%hash;

对%hash的解引用:

$$reference{'key'};
$reference->{'key'};
%$reference; #to access the whole hash


对函数的解引用:

&$function(arguments);
$function->(arguments);

对函数的引用:

sub function{}
my $function=\&function;



匿名数组:

my $array;
@$array=("a","b");
$$array[3]="c";
$array->[4]="d";
print @$array;


匿名函数:

my $reference=sub {};
&$reference(parameters);

or

sub function{}

${\function(parameters)};


ref函数返回相应的引用类型:

ref(\@array)=ARRAY;
ref(\%hash)=HASH;
ref(\&function)=CODE;
ref(\\@array)=REF;
ref(\*hash)=GLOB;


数组的数组:

$array[$i]->[$j];
$arrat[$i][$j]


引用不能作为hash中的键字。


${a}=$a;
${"a"}=$a; #是一个符号引用

如果不使用符号引用: use strict 'refs';使用:"no strict 'refs'";

$name="bam";

$$name=1; #$bam=1

$name->[0]=4; # @bam,$bam[0]=4

$name->{X}="Y";

@$name=(); # clear @bam

&$name; #call &bam

转载于:https://www.cnblogs.com/zhangxz/archive/2013/01/01/2841738.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值