in reply to Getting different anonymous arrays

Looks like a good case for map
my @array = qw( a b c d ) ; my %hash; @hash{ @array } = map [@array], @array; print "$_ => $hash{$_}\n" for keys %hash; __output__ a => ARRAY(0x8107e30) b => ARRAY(0x8107f5c) c => ARRAY(0x8107fa4) d => ARRAY(0x8107fec)
Or without constructing a list
$hash{$_} = [@array] for @array;
So in the first example we create a new anonymous array of @array for every element in @array and then assign the resulting list to the hash slice. In the second example it's much the same except we iteratively assign each new anonymous array.

See. map for more information.
HTH

_________
broquaint