my %h; my @a = map { [@{ $_ }[0]] } @S; my @b = map { [@{ $_ }[1]] } @S; @h{@a} = @b; print Dumper(@a); print Dumper(@b); print Dumper(%h); print "or\n"; print Dumper(\%h); #### $VAR1 = { 'ARRAY(0x8411210)' => [ 'e' ], 'ARRAY(0x840d768)' => [ 'c' ], 'ARRAY(0x83f3308)' => [ 'c' ] };