As you may have noticed, the list object already has two built-in substring search functions. But the problem is, they only check if a line begins with a string (FindString) or if a whole line matches the specified string (FindStringExact). So it seems like you've got to do it manually, which is exactly what I've done in stringsearch.mfa.
Note: You can do this in only two lines of code, if you load the file with Binary Object or Edit object, and use String Parser 2 to do the string searching for you. Not that it matters anyway, heh.