用hash存数组|得地址|取地址

 1 #!/usr/bin/perl -w
 2 use strict;
 3 
 4 my %hash = %{&collect};my $arr_ad=$hash{'a'};print "$arr_ad
";
 5 print"$arr_ad->[1]
";
 6 print "$arr_ad->[1][3]
";
 7 
 8 
 9 
10 
11 sub collect
12 {
13     my @col;
14     while(<>)
15     {
16         my @split = split //;push @col,[@split];   
17     }
18     my %hash;my $key= 'a';$hash{$key} = @col;print "$hash{$key}
";
19     
20     return %hash
21 }
22 
23 # cat input
24 # abcdefg
25 # 1234567
26 # ABCDEFG
27 #
28 # cat input |perl t
29 # ARRAY(0x9f52f8)
30 # ARRAY(0x9f52f8)
31 # ARRAY(0x9f4b78)
32 # 4
33 #

key:

hash的标准形式是:$hash{$key}=value;

取地址:$hash_ad = \%hash;

解地址:

整个hash:%new_hash = %{$hash_ad};变量形式相对应;

单个hash元素:$single = $hash_ad->{$key};这是由$hash{$key}转变而来;

array:同理

取地址:$arr_ad = @arr;

解地址:

整个arr:@new_arr = @{$arr_ad};变量形式相对应;

单个hash元素:$single = $arr_ad->[1];这是由$arr[1]转变而来;

原文地址:https://www.cnblogs.com/yuanjingnan/p/11123069.html