while () { print; while (/-+/g) { printf "Found at %s\n", $-[0]+1 . ($+[0] != $-[0]+1 ? " to $+[0]" : ''); } } __DATA__ A-----B A----C---B A--B---C----D-E A-B--C---D----E ---------------