in reply to Substrings of unusual size!
Could you possibly change the title to be more descriptive? (I don't care to spend time what that would be.)
while reading file line by line
in @data, save lines from /^G/ (inclusive) to
next /^G/ (exclusive)
call parse_check on @data
$data =~ /^G/ or early return
@find = split $data on ":"
remove /^G/ from $find
@field = parsed CSV output of @data[1,$#data].
remove /^E/ from @field
for space in @field
match space with each of @find
if all succeed, well, you succeeded
and return true
outside of loop, return false