#!/usr/bin/perl -w
######################################################################
# htmllinks.pl
######################################################################
# Perl Power! - Michael Schilli 1998
######################################################################

use HTML::TreeBuilder;

$tree = HTML::TreeBuilder->new();      # create TreeBuilder
$tree->parse_file("document.html");    # parse file

$tree->traverse(\&callback);           # traverse parse tree

$tree->delete();                       # release memory

######################################################################
sub callback { 
######################################################################
    my($node, $start, $depth) = @_;

        # if $node is no HTML::Element object, it is a piece of text
        # - but we are only interested in HTML::Element objects
    return 1 unless ref($node);

    return 1 unless $start;

    if($node->tag() eq 'a') {
        print "TEXT: ", @{$node->content()}, " ";
        print "HREF: ", $node->attr('href'), "\n";
    }

    1;
}

