@final=(); @split_str_no_dash = split(//, $str_no_dash); @split_str_with_dash = split(//, $str_with_dash); $count_pos = -1; $count_pred = -1; @str_final=(); foreach $b(@split_str_with_dash) { if ($b=~/\./ or $b=~/-/) { $count_pos++; $str_final[$count_pos]=$b; } elsif ($b!~/\./ && $b!~/-/) { $count_pos++; $count_pred++; $str_final[$count_pos]=$split_str_no_dash[$count_pred]; } } $final_string=join("", @str_final); }