my %fred =
(
[1, 2, 3] => [1, 1, 0],
[3, 4, 5] => [0, 1, 0],
[0, 2, 4] => [1, 2, 1],
);
for my $k (keys %fred) {
print "$k element 0: '",$k->[0],"'\n";
print "array: (",join(",",@$k),")\n";
}
__END__
ARRAY(0x17ba658) element 0: ''
array: ()
ARRAY(0x17b3b80) element 0: ''
array: ()
ARRAY(0x1796998) element 0: ''
array: ()
####
my @ary = ([1, 2, 3],[3, 4, 5],[0, 2, 4]);
my %fred =
(
$ary[0] => [1, 1, 0],
$ary[1] => [0, 1, 0],
$ary[2] => [1, 2, 1],
);
for my $k (keys %fred) {
print "$k element 0: '",$k->[0],"'\n";
print "array: (",join(",",@$k),")\n";
}
__END__
ARRAY(0x19cca60) element 0: ''
array: ()
ARRAY(0x19ccb80) element 0: ''
array: ()
ARRAY(0x19af998) element 0: ''
array: ()
##
##
my @ary = (
[1, 2, 3], [1, 1, 0],
[3, 4, 5], [0, 1, 0],
[0, 2, 4], [1, 2, 1],
);
my (@arystrings, %aryhash);
for my $ary ( @ary ) {
$aryhash{$ary} = $ary;
push @arystrings, scalar $ary; # same string as the key above
}
my %fred = @arystrings; # treats @arystrings as (key,value,key,value,...) list
print_stuff();
%fred = reverse %fred; # reverse hash
print_stuff();
sub print_stuff {
for my $k (keys %fred) {
print "$k element 0: '",$aryhash{$k}->[0],"'\n";
print "array: (",join(",",@{$aryhash{$k}}),")\n";
}
}
__END__
ARRAY(0x25e6998) element 0: '1'
array: (1,2,3)
ARRAY(0x2603b80) element 0: '3'
array: (3,4,5)
ARRAY(0x260f948) element 0: '0'
array: (0,2,4)
ARRAY(0x260f8d0) element 0: '0'
array: (0,1,0)
ARRAY(0x260f9c0) element 0: '1'
array: (1,2,1)
ARRAY(0x2603a60) element 0: '1'
array: (1,1,0)