my (@list, %find); @list = qw/a t g c/; # You can do it manually... @find{@list} = qw/t a c g/; # ...or programmatically: @find{@list} = map {reverse @list[$_*2, $_*2+1] } 0..@list/2-1; print "$_: $find{$_}\n" for @list;