#!/usr/bin/perl use strict; use warnings; my $string = 'DIQMTQSPSSLSASVGDRVTITCXXXXXXXXXXXWYQQKPGKAPKXXXXXXXXXXXGVPSRFSGSGSGTDFTLTISSLQPEDFATYYCXXXXXXXXTFGQGTKVEIK'; my @parts = split /(X+)/, $string; my $cur_pos = 0; for my $part ( @parts ) { my $start = $cur_pos + 1; my $stop = $cur_pos + length $part; print "feature $start .. $stop: $part\n"; $cur_pos = $stop; }