You can have both a "^parent_tag" and a "parent_tag" rule. The first will be called before the children (and may decide to skip the whole branch, but it only has access to the attributes), the second will be called after all children.
my %rules = (
_default => sub {$_[0] => trim($_[1]->{_content})},
'^parent_tag' => sub {...}, # called after parsing <parent_tag>
parent_tag => sub {...}, # called after parsing </parent_tag>
child_tag => sub {...}, # called after parsing </child_tag>
)
Jenda
Enoch was right!
Enjoy the last years of Rome.