in reply to Regular Expression Search
while (<DATA>) { 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 --------------- [download]