创建引用有两种方法:

1,$aref=\@a

2,匿名引用 $aref=[1,"a","b"]  {}则代表匿名散列

析值:

1,带有大括号的引用相当于数组名

@a=@{$aref}

2, ${$aref}[3]相当于$aref->[3]  指数组a的第四个元素 和$aref[3]完全不同,后者是指aref数组的第四个元素

举例:

1   my %table;
    2   while (<>) {
    3    chomp;
    4     my ($city, $country) = split /, /;
    5     $table{$country} = [] unless exists $table{$country};  //创建一个空的匿名数组的引用,存储在$table{$country} 中
    6     push @{$table{$country}}, $city;   {匿名数组引用}将恢复数组名。
    7   }
    8   foreach $country (sort keys %table) {
    9     print "$country: ";
   10     my @cities = @{$table{$country}};
   11     print join ’, ’, sort @cities;
   12     print ".\n";
   13   }


评论

该日志第一篇评论

发表评论

评论也有版权!