in reply to Text Parse Question with RegEx

GrandFather's approach is the way to go.

Here's what your regex is doing:

[ ] is really "&" or "n" or "b" or "s" or "p" or ";" since it is inside a character class. This should have been obvious since Dumper shows you "nbsp;", even though it wasn't inside capturing parenthesis, and it mysteriously left off the "&"!

Also, since everything is optional (you're using two ?'s and a .*?), your minimal match is nothing at all inbetween the tags, which succeeds.

P.S. Pass a reference to Dumper: print Dumper \@results;