Chinaunix首页 | 论坛 | 博客
  • 博客访问: 139608
  • 博文数量: 46
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-15 23:00
文章分类

全部博文(46)

文章存档

2018年(18)

2017年(11)

2015年(14)

2014年(3)

我的朋友

分类:

2015-03-22 22:17:40

原文地址:Perl中的引用和解引用 作者:icybay

对$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


阅读(832) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~