Thanks haukex and marto. In this case, I just want to trim the unnecessary white space from the start and end of a few elements and attributes. The attributes are easy to work with so that is solved. However, I am not sure how to apply a substitution, s///, to an element containing more that just text.
| [reply] [d/l] |
sub html_trim {
my $elem = shift;
for my $itemref ($elem->content_refs_list) {
if ( ref $$itemref )
{ html_trim($$itemref) } # remove this for non-recursive
else { $$itemref =~ s/^\s+|\s+$//g }
}
}
for my $elem ($xhtml->findnodes('//div/ul/li')) {
html_trim($elem)
}
| [reply] [d/l] [select] |