my $i=0; while ($i<$#group) { $hash{$group[$i]}=$group[$i+1]; $i+=2; } #### @destination = map {$_++} @source #### .... = map { ("key$_" , "value$_") } ..... #### .... = map { ("key$_" => "value$_") } .....