use Data::Dumper; my @array = ( 0, 1, 2, 3, 4, 5 ); my %uniq; @uniq{@array[1..$#array]} = (); print Dumper \%uniq; #### $VAR1 = { '4' => undef, '1' => undef, '3' => undef, '2' => undef, '5' => undef }; #### use Data::Dumper; my %uniq; my @aoa = ( ['foo',0], # Changed from 'AoA' to 'aoa'. Thanks to bobf. ['foo',1], ['foo',2], ['foo',3], ['foo',4], ['foo',5],); @uniq{ @aoa[ 1 ... $#aoa ]->[-1] } = (); print Dumper \%uniq; #### $VAR1 = { '5' => undef };