... the front off the input strings after each match. As is, I often return an array of strings of 15,000 to 20,000 at a time, parsing various logs and xml files. Some of the logs are quite large, 50+ MB. Large logs means large memory allocation. Still, I typically just read the entire file ...