use strict; use HTML::TreeBuilder; my $tree = HTML::TreeBuilder->new; $tree->parse_file("test.html"); my $content_as_html = sub { join "", map { ref($_) ? $_->as_HTML : $_ } shift->content_list; }; for my $element ($tree->look_down(_tag => "a", href => qr/./)) { my $content = $element->$content_as_html; my $href = $element->attr("href"); $content =~ s/\n//g; print ">> $href, $content\n" }