in reply to simple regex help

You should expect to process tags recursively. You could use XML::Parser or one of the XML wrappers for that to do it for you. If you roll your own, the area of logic you are stumbling on should first check for a closing tag of the current tag. Otherwise any other '<' should invoke a recursive call to get a nested tag. '</current-tag-name>' should be just before returning from the recursive sub that gets tags.
__________________________________________________________________________________

^M Free your mind!