- //$ref是一个匿名数组引用,同时嵌套着匿名数组引用,匿名散列引用
- my $ref = [1,2,3,['a','b','c'],{a=>1,b=>2,c=>3,},];
- //访问其中的一个元素1
- printf "%d\n",$ref->[0];
- printf "%d\n",$$ref[0];
- printf "%d\n",{{ref}[0];
- //访问其中的一个嵌套的匿名数组引用的值a
- printf "%s\n",$ref->[3]->[0];
- printf "%s\n",$$ref[3][0];
- printf "%s\n",{{ref}[3][0];
- //访问其中的一个嵌套的匿名散列引用
- printf "%d\n",$ref->[4]->{a};
- printf "%d\n",{{ref}[4]{a};
- print @{$ref->[3]},"\n";
- print keys %{$ref->[4]},"\n";
- print values %{$ref->[4]},"\n";
- my $i = 0;
- while ($i < 3) {
- print $ref->[3]->[$i],"\n";
- }continue{$i++;};
一个使用引用的sample
- my $ref = {};
- open my $file,'<','/etc/passwd' or die "$!\n";
- while (<$file>) {
- chomp;
- my @array = split /:/;
- if ($array[6]) {
- if (exists $ref->{$array[6]}) {
- {{ref}{$array[6]} ++;
- }
- else {
- {{ref}{$array[6]} = 1;
- }
- }
- }
- close $file;
- =head
- for my str(sortkeysref) {
- printf "%-20s%d\n",str,ref->{$str};
- }
- =cut
- while (my (key,val) = each %$ref) {
- printf "%-20s%d\n",key,val;
- }
本文转自dongfang_09859 51CTO博客,原文链接:http://blog.51cto.com/hellosa/703370,如需转载请自行联系原作者