理解引用和引用的语法

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 ;

你可能感兴趣的:(引用)