@array = qw( a b c d ) ;
@array{ @array } = ( [ @array ] ) x @array ;
####
...this means the
hash %array looks like this:
%array = (
'a' => [ 'a', 'b', 'c', 'd' ],
'b' => [ 'a', 'b', 'c', 'd' ],
'c' => [ 'a', 'b', 'c', 'd' ],
'd' => [ 'a', 'b', 'c', 'd' ],
) ;
####
DB<1> n
main::(-e:1): @array = qw( a b c d ) ;@array{ @array } = ( [ @array ] ) x @array ; print $array{'a'}->[1];
DB<1>
main::(-e:1): @array = qw( a b c d ) ;@array{ @array } = ( [ @array ] ) x @array ; print $array{'a'}->[1];
DB<1> x %array
0 'a'
1 ARRAY(0x1d7f550)
0 'a'
1 'b'
2 'c'
3 'd'
2 'b'
3 ARRAY(0x1d7f550)
-> REUSED_ADDRESS
4 'c'
5 ARRAY(0x1d7f550)
-> REUSED_ADDRESS
6 'd'
7 ARRAY(0x1d7f550)
-> REUSED_ADDRESS
DB<2>
####
C:\>perl -e "@array = qw( a b c d
) ;@array{ @array } = ( [ @array ] ) x @array ; $array{'a'}->[1] = 'FOOBAR'; print $array{'a'}->[1]; print $array{'b'}->[1];"
FOOBARFOOBAR