napa, just a quick tip to share it with you. You can use the /U modifier in place of the .+? : > if ($regex(%nfact,/\t{7}\s(.+?)/)) {can be made as:
if ($regex(%nfact,/\t{7}\s(.+)/U)) {
/U modifier means "un-greedy" ;o
They're pretty much the same thing. I thought I'd be a good sport. ;p
On a further note, though, the use of ? and $ in (.+?)$ can be omitted as (.+) . Your script will work just as well without them in the nature of the source located...