$x = "KPHVNVGTIGHVDHGKTTL-------AISHVLAKTYGGEAKDFSQ--------IDNAPKPVLNVAFIGHVDAGKSTTVGRLLLDSGTIDPQIIERLKREASEKGKAGFEFAYVMDGLK"; while ($x =~ m/(-+)/g) { print pos($x), " ", length($1), "\n"; } __END__ 26 7 53 8