@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