MAIFNSLVFLPASFTLSYMWNFGSMLGIMLMSQILTGFFLTFYYTAGEAFSSVQYIMFEVNLGWLLRIMHSNGASMFFLFIYLHIFKGLIYGSYRLIGVWLSGIFIYFLLMGIAFTGYVLIWGQMSYWAAVVITSLMTSVPYLGKYLVWWGSFSVCENTLKFFYSVHFILPWSLMVLVVFHLFFLHFTGSSSSLYCHGDYDKIHFFPSFWLKDGFDIFFYFFLILFSLYFSFDLSDPMIFVESDSMAS
####
MAIFNSLVFL PASFTLSYMW NFGSMLGIML MSQILTGFFL TFYYTAGEAF
SSVQYIMFEV NLGWLLRIMH SNGASMFFLF IYLHIFKGLI YGSYRLIGVW
LSGIFIYFLL MGIAFTGYVL IWGQMSYWAA VVITSLMTSV PYLGKYLVWW
IWGSFSVCEN TLKFFYSVHF ILPWSLMVLV VFHLFFLHFT GSSSLYCHG
####
My code is
@y=q{MAIFNSLVFLPASFTLSYMWNFGSMLGIMLMSQILTGFFLTFYYTAGEAFSSVQYIMFEVNLGWLLRIMHSNGASMFFLFIYLHIFKGLIYGSYRLIGVWLSGIFIYFLLMGIAFTGYVLIWGQMSYWAAVVITSLMTSVPYLGKYLVWWGSFSVCENTLKFFYSVHFILPWSLMVLVVFHLFFLHFTGSSSSLYCHGDYDKIHFFPSFWLKDGFDIFFYFFLILFSLYFSFDLSDPMIFVESDSMAS};
while($j<$n-$m)
{
if($lastch==$y[$j+$m-1] && $firstch == $y[$j]){
$data="";$pat="";
for($i=$m-1;$i>=0;$i--){
$data=$y[$j+$i].$data;
$pat=$x[$i].$pat;
}
if($data eq $pat){
@start=($j);
@end=$j+$m;
print "Match Position : ",$j+1; #print "\n$entry\n$title\n$acc \n SEQUENCES=>\n@y\n\n";
print " - ", $j +$m,"";
print "";$ss=0;
for(my $j=0;$j<=$#start;$j++)
{
for(my $i=$ss;$i<=$#y;$i++)
{
if($start[$j] == -1)
{
next;
}
if($i % 10 == 0)
{ print " ";}
if($i % 50 == 0)
{print "
";print OUTFILE"\n";}
if($start[$j] != $i && $i<$start[$j])
{
print "$y[$i]";
print OUTFILE "$y[$i]";
}
if($start[$j] == $i)
{
line: $k=$i;
do
{
print "";
print OUTFILE "$y[$k]";
$k++;
}until($end[$j] == $k || $end[$j+1] == $k );$ss=$k;
if($k-1 == $start[$j+1])
{
$i=($start[$j+1])+1;
$j=$j+1;goto line;
}
elsif($k-1>=$start[$j+1] && $j <$#start)
{
$i=$k;
$j=$j+1;goto line;
}
else
{last;}
}
}
}
for(my $i=$k;$i<$#y;$i++)
{
if($i % 10 == 0)
{ print " ";
print OUTFILE " ";}
if($i % 50 == 0 )
{print "
";print OUTFILE "\n";}
print "$y[$i]";
print OUTFILE "$y[$i]";
}
print "
";