in reply to File parsing question

You can use the range operator ".." to get your sections:

while (<DATA>) { if ( /^Start:\s/ .. /^Close:\s/ ) { # here you can collect your lines } }

s$$([},&%#}/&/]+}%&{})*;#$&&s&&$^X.($'^"%]=\&(|?*{%
+.+=%;.#_}\&"^"-+%*).}%:##%}={~=~:.")&e&&s""`$''`"e