in reply to section nesting
The following may be a useful starting point for you:
use strict; use warnings; my @sectionCount = (1, 1); while (<DATA>) { chomp; if (/<\/sec>/) { pop @sectionCount; ++$sectionCount [-1]; next; } next if ! /<sec id=/; push @sectionCount, 1; my ($secNum) = /<no>(.*?)<\/no>/; print "Section nesting error in or before $secNum\n" if $secNum ne join ".", @sectionCount[0..(@sectionCount-2)]; }
__DATA__ <sec id="00005"><no>1.1</no> <sec id="00010"><no>1.1.1</no> </sec> <sec id="00015"><no>1.1.2</no> <sec id="00020"><no>1.1.2.1</no> </sec> <sec id="00025"><no>1.1.2.2</no> </sec> </sec> <sec id="00015"><no>1.1.3</no> </sec> </sec> <sec id="00005"><no>1.2</no> <sec id="00010"><no>1.2.1</no> </sec> <sec id="00015"><no>1.2.2</no> </sec> <sec id="00020"><no>1.2.2.1</no> </sec> <sec id="00025"><no>1.2.2.2</no> </sec> <sec id="00015"><no>1.2.3</no> </sec> </sec> Section nesting error in or before 1.2.2.1 Section nesting error in or before 1.2.2.2 Section nesting error in or before 1.2.3
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: section nesting
by anniyan (Monk) on Jul 26, 2005 at 08:04 UTC | |
by Tanktalus (Canon) on Jul 26, 2005 at 13:51 UTC | |
by GrandFather (Saint) on Jul 26, 2005 at 20:25 UTC |