sub traverse ($) { my $element = $_[0] ; if ($element) { if (ref $element) { print $element->tag(), "\n\n" ; if (go_ahead ($element)) { for my $child ($element->content_list()) { $child = traverse ($child) ; } } } else { print "Processing a string element...\n" ; $element = curly_quotes ($element) ; print ($element , "\n\n"); } } return $element ; }