add_address_attr($tree); sub add_address_attr { my $self = shift; for (@{$self->{'_content'}}) { if (ref $_) { # element $_->attr(addr => $_->address ); add_address_attr ($_); # recurse } } }