perl 引用简述

2139阅读 0评论2011-07-06 努力小伙
分类:Python/Ruby

本文是在 Perl 5 下写作的。引用是Perl支持的一种功能,引用的本质和C的指针类似,都是通过寻址的方式使用各种“量”或者函数,下面回顾一下Perl中引用的使用,很基本和实用的东西,希望刚接触perl的朋友能最快的学会使用引用这种方法。

引用使用‘\’实现,下面以具体简单的例子说明使用方法。

1、标量的引用及使用方法

  1. my $lsb = "lsb_release -a | grep -i fedora";
  2. my $lsb_ref = \$lsb;    #引用本身存放的是一个地址,类型是标量,故以‘$’开头,这里$lsb_ref就是标量$lsb的引用
  3. system("$$val_ref"); #通过‘$$’这样的形式使用该引用指向的标量
2、数组的引用及使用方法

  1. my @small = ('one','two','three'); #数组的定义方式
  2. my $big_ref = ['four','five','six'] #这里是一个匿名数组(无名),$big_ref就是这个匿名数组的引用
  3. my $samll_ref = \@samll;                 #$small_ref为数组small的引用
  4. print "$@small_ref[1]\n";                #这里给出两种数组引用的使用方式
  5. print "$@big_ref->[0]\n";               #‘->’也是使用数组引用的方式
3、哈希(散列)的引用和使用方法
  1. my %hash = ('key1' => 'value1',
  2.                    'key2' => 'value2'
  3.                   );
  4. my $hash_ref = \%hash;

  5. print $hash_ref->{key2};            #hash引用的使用方式
  6. print "$$hash_ref{key1}\n";
4、函数的引用和使用方法
  1. sub print_msg{
  2.         my ($msg) = @_;
  3.         print "MSG:$msg\n";
  4.         return();
  5. }

  6. my $print_ref = \&print_msg;

  7. &$print_ref('iugame is ok!');
学问有限,希望对刚接触Perl引用的朋友有所用...
上一篇:shell编程技巧小结-3
下一篇:备份(镜像)svn版本库