글자 하나만 바꿔주기,

phw0317의 이미지


$seq_a=ABCDEFGEF;
$seq_b=ABCDEEGEF;
$match=----- ---;

요 세가지의 서열이 있습니다. $match라는 서열은, $seq_a와 $seq_b가 일치를 하는지를 확인하는지를 보여주는겁니다.

제가 원하는건, $match를 substr로 이용해서 하나하나 잘라준 다음,

그 정보를 배열에다가 저장해 준 후,

그 정보를 이용해서, $seq_a와 $seq_b에 해당하는 단어를 X로 바꿔주고싶습니다.

그런데, 이거를 하려고하니 마땅한 함수가 생각나질않아서그러는데 조언 부탁드립니다.

amorette의 이미지

#!/usr/bin/env perl
 
$seq_a = 'ABCDEFGEF';
$seq_b = 'ABCDEEGEF';
$match = '----- ---';
 
while ($match =~ m{ }g) {
    substr($seq_a, pos($match) - 1, 1, "X");
    substr($seq_b, pos($match) - 1, 1, "X");
}

phw0317의 이미지

pos라는 함수는 처음보네요,,,

감사합니다, 덕분에 좋은정보 잘 사용하도록 하겠습니다^^