#!/usr/bin/perl -l my $A = 'ATGGAGTCGACGAATTTGAAGAAT'; my $B = 'xxxxxxATGGAGyxxxTCGAzxxxxCGAATTTGAAxxwGAAT'; my ($An, $Bn) = (0, 0); # relative indices my ($Ac, $Bc); # characters my ($difpos, $difstr) = (0, ''); # keep track of differences for $Bn (0 .. length($B)-1){ $Ac = substr($A, $An, 1); $Bc = substr($B, $Bn, 1); if ($Ac eq $Bc){ print "$difpos: $difstr" if $difstr; $difstr = ''; $An++; $difpos++; } else { $difstr .= $Bc; } }