>perl -wMstrict -le "use List::Util qw(reduce); use vars qw($a $b); ;; my @seqs = qw( ATCG--ATCG-ATCG ATGC--ATCG-ATCG ATGC-A-TCG-ATCG ATGC--ATCG-ATCG ATCG--ATCG-AACG ); ;; my $cons = reduce { $a ^ $b } @seqs; defined($cons) or die 'no sequences given'; ;; my $mask = @seqs % 2 ? $seqs[0] : (qq{\0} x length $seqs[0]); $cons ^= $mask; $cons =~ tr{\0-\xff}{.X}; print qq{'$cons'}; " '..XX.XX.....X..'