#! perl -slw use strict; while( !eof DATA ) { my $dna = ; my $cmp = ; (my $temp = $cmp) =~ tr[ACGT][TGCA]; if ($dna eq $temp) { print "$cmp is an accurate compliment of \n$dna"; } elsif (length $dna != length $cmp) { print "$cmp is a different length to \n$dna"; } else { for my $pos(0 .. length $dna) { my $c1 = substr($dna, $pos, 1); my $c2 = substr($cmp, $pos, 1); print "$c1-$c2 (pos:$pos) is a mismatch" unless $c1 eq (substr($temp, $pos, 1)); } } } __DATA__ ACTGGTACATAGCTAGCTATAGCATACGATATAGACGTCTGCTAGTCGTCGTTTGCCTAAAGCCTAGATCGTAGCTAGTC TGACCATGTATCGATCGATATCGTATGCTATATCTGCAGACGATCAGCAGCAAACGGATTTCGGATCTAGCATCGATCAG ACTGGTACATAGCTAGCTATAGCATACGATATAGACGTCTGCTAGTCGTCGTTTGCCTAAAGCCTAGATCGTAGCTAGTC TGACCATGTATCGATCGATATCGTATGCTATATCTGCAGACGATCAGCAGCAAACGGATTTCGGATCTAGCATCGATCA ACTGGTACATAGCTAGCTATAGCATACGATATAGACGTCTGCTAGTCGTCGTTTGCCTAAAGCCTAGATCGTAGCTAGTC TGACCATGTATCGATCGATATCCTAGGCTATATCTGCAGACGATCAGCAGCAAACGGATATCGGATCTAGGATCGATCAG