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]转变而来;