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 "
"; if($k % 10 == 0 && $k != $start[$j]) { print " "; print OUTFILE " "; } if($k % 50 == 0 && $k != $start[$j]) { print "
";print OUTFILE "\n"; } print "$y[$k]
"; 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 "

";