>perl -wMstrict -le "my $seq1 = '--TAGAG--T'; my $seq2 = '-ATTGAGATT'; print 'question 1'; (my $mask1 = $seq1) =~ tr{-ATGC}{\x00\xff}; print qq{seq1 '$seq1'}; print qq{seq2 '$seq2'}; $seq2 &= $mask1; $seq2 =~ tr{\x00}{-}; print qq{seq2 '$seq2'}; print 'question 2'; $seq1 = 'G-TATAG'; $seq2 = 'GATCT-G'; print qq{seq1 '$seq1'}; print qq{seq2 '$seq2'}; ( $mask1 = $seq1) =~ tr{-ATGC}{\x00\xff}; (my $mask2 = $seq2) =~ tr{-ATGC}{\x00\xff}; my $dmask = $mask1 & $mask2; $seq1 &= $dmask; $seq2 &= $dmask; my $diff = $seq1 ^ $seq2; $diff =~ tr{\x00-\xff}{=D}; print qq{diff '$diff'}; " question 1 seq1 '--TAGAG--T' seq2 '-ATTGAGATT' seq2 '--TTGAG--T' question 2 seq1 'G-TATAG' seq2 'GATCT-G' diff '===D==='