$_ = '-XXX--XXXXXXXXX...XXXXXXWW--WWW.WWWZZZ---ZZZWW..W-.-WWWWWXXX'; printf "%s-%s: %s\n", $-[0]+1, $+[0], $1 while /[.-]*([^.-])(?:\1|[.-])*/g;