HTML::Element Suggestion

Andreas Kasparz (andy@fez-potsdam.de)
Thu, 08 Apr 1999 14:18:01 +0100


Working with HTML::Element i have found that it would be a good
enhancement to modify Element->traverse(\&callback) as follows
(note the @data in argument-list and callback-parameters):
-----------------------
sub traverse
{
    my($self, $callback, $ignoretext, $depth, @data) = @_;
    $depth ||= 0;

    if (&$callback($self, 1, $depth, @data)) {
	for (@{$self->{'_content'}}) {
	    if (ref $_) {
		$_->traverse($callback, $ignoretext, $depth+1, @data);
	    } else {
		&$callback($_, 1, $depth+1, @data) unless $ignoretext;
	    }
	}
	&$callback($self, 0, $depth, @data) unless
$emptyElement{$self->{'_tag'}};
    }
    $self;
}
-----------------------
so we can call: Element->traverse(\&callback,$callback_data)...

Sincerley, andy