http://www.perlmonks.org?node_id=368767


in reply to section nesting

What defines "improper" nesting? Your example suggests no nesting is allowed at all. Is that the case? Anyway, I'd use a single tokenizer and a counter. Whenever you see a <sec id = "..."> token, increment the counter. Whenever you see a </sec> token, decrement the counter. Whenver the counter has a value unequal to either 0 or 1, you have "improper nesting" - that is, assuming no nesting at all can happen.

Abigail