use strict; use warnings; my (@a1, @a2, %HoA, @AoA); @a1 = (1,2,3); @a2 = (2,3,4); %HoA = ( 'a1' => \@a1, 'a2' => \@a2 ); print "$_ : @{$HoA{$_}}\n" for keys %HoA; @AoA = ( ['a1', \@a1], ['a2', \@a2] ); print "$_->[0] : @{$_->[1]}\n" for @AoA; @AoA = ( [@a1, 'a1'], [@a2, 'a2'] ); print pop(@$_) . " : @$_\n" for @AoA;