in reply to Regex for simple parsing job
$_ = "STARTP ... ENDP"; @data = map {[/^TITLE\n([^E]*(?:E(?!NDTITLE)[^E]*)*)ENDTITLE/gm]} /^ST +ARTP\n([^E]*(?:E(?!NDP)[^E]*)*)ENDP/gm; [download]