#! perl -slw use strict; my $genome1 = 'ACACTTGCATACTGATCATGACTTGACACACTTGCATACTGATCATGACTTGACACACTTGCATACTGATCATGACTTGACACACTTGCATACTGATCATGACTTGAC'; my $genome2 = 'ACTACGACTGCATGACTCCGATGACTGACTACGACTGCATGACTCCGATGACTGACTACGACTGCATGACTCCGATGACTGACTACGACTGCATGACTCCGATGACTG'; my $mismatches = get_mismatches ($genome1, $genome2); my @strings = ($genome1, $mismatches, $genome2); for (my $x = 0; $x < length ($strings [0]); $x +=60) { print join ("\n", map (substr ($strings[$_], $x, 60), 0..2 )) . "\n"; } exit; sub get_mismatches { ($genome1, $genome2) = @_; my $mismatches = ''; my $length= length ($genome1); my $position; my $count = 0; for ($position = 0; $position < $length; ++$position) { if (substr($genome1, $position, 1) eq substr ($genome2, $position, 1)) { $mismatches .= "-"; } else { $mismatches .= "*"; } } return $mismatches; } __END__ C:\test>214064 ACACTTGCATACTGATCATGACTTGACACACTTGCATACTGATCATGACTTGACACACTT --*****-****---****--******--*****-****---****--******--**** ACTACGACTGCATGACTCCGATGACTGACTACGACTGCATGACTCCGATGACTGACTACG GCATACTGATCATGACTTGACACACTTGCATACTGATCATGACTTGAC *-****---****--******--*****-****---****--****** ACTGCATGACTCCGATGACTGACTACGACTGCATGACTCCGATGACTG C:\test>