perl 引用备忘

简介:
 
  1. //$ref是一个匿名数组引用,同时嵌套着匿名数组引用,匿名散列引用 
  2. my $ref = [1,2,3,['a','b','c'],{a=>1,b=>2,c=>3,},]; 
  3.  
  4. //访问其中的一个元素1
  5. printf "%d\n",$ref->[0]; 
  6. printf "%d\n",$$ref[0]; 
  7. printf "%d\n",{{ref}[0]; 
  8.  
  9. //访问其中的一个嵌套的匿名数组引用的值a
  10. printf "%s\n",$ref->[3]->[0]; 
  11. printf "%s\n",$$ref[3][0]; 
  12. printf "%s\n",{{ref}[3][0]; 
  13.  
  14. //访问其中的一个嵌套的匿名散列引用
  15. printf "%d\n",$ref->[4]->{a}; 
  16. printf "%d\n",{{ref}[4]{a}; 
  17.  
  18. print @{$ref->[3]},"\n"; 
  19. print keys %{$ref->[4]},"\n"; 
  20. print values %{$ref->[4]},"\n"; 
  21.  
  22. my $i = 0
  23.  
  24. while ($i < 3) { 
  25.        print $ref->[3]->[$i],"\n"; 
  26. }continue{$i++;}; 
  27.                                   

 一个使用引用的sample

 
  1. my $ref = {}; 
  2.  
  3. open my $file,'<','/etc/passwd' or die "$!\n"; 
  4.  
  5. while (<$file>) { 
  6.        chomp; 
  7.        my @array = split /:/; 
  8.  
  9.        if ($array[6]) { 
  10.           if (exists $ref->{$array[6]}) { 
  11.               {{ref}{$array[6]} ++; 
  12.           } 
  13.           else { 
  14.               {{ref}{$array[6]} = 1; 
  15.           } 
  16.        } 
  17.  
  18.  
  19. close $file; 
  20.  
  21. =head 
  22. for my str(sortkeysref) { 
  23.     printf "%-20s%d\n",str,ref->{$str}; 
  24. =cut 
  25.  
  26. while (my (key,val) = each %$ref) { 
  27.        printf "%-20s%d\n",key,val; 

 本文转自dongfang_09859 51CTO博客,原文链接:http://blog.51cto.com/hellosa/703370,如需转载请自行联系原作者

目录
打赏
0
0
0
0
69
分享
相关文章
|
10月前
|
|
10月前
|
Python之父发文吐槽现有解析器,考虑将它替换掉
Python之父发文吐槽现有解析器,考虑将它替换掉
143 1
|
6月前
|
探索研究Perl 引用
【9月更文挑战第14天】
73 20
关于python变量的再次折腾,没有PHP的引用赋值
今天,重看php文档的时候,发现了这样的讲法
54 0
Python数据结构与算法(11)---对象的非永久引用weakref
Python数据结构与算法(11)---对象的非永久引用weakref
139 0
Python数据结构与算法(11)---对象的非永久引用weakref
Perl项目中的面向对象、继承默认加载和正则表达式的使用方法
Perl项目中的面向对象、继承默认加载和正则表达式的使用方法
122 0