#!/usr/local/bin/perl
# Time-stamp: "1999-12-15 20:19:23 MST" sburke@netadventure.net
#
# Parse the given HTML file(s) and dump the parse tree
# Usage:
#  htmltree -D3 -w file1 file2 file3
#    -D[number]  sets HTML::TreeBuilder::Debug to that figure.
#    -w  turns on $tree->warn(1) for the new tree

require 5;
use HTML::TreeBuilder;
use strict;

$HTML::TreeBuilder::Debug = 0; # default debug level
my $warn = 0;
while(@ARGV) {   # lameo switch parsing
  if($ARGV[0] =~ m<^-D(\d+)$>s) {
    $HTML::TreeBuilder::Debug = $1;
    print "Debug level $HTML::TreeBuilder::Debug\n";
    shift @ARGV;
  } elsif ($ARGV[0] =~ m<^-w$>s) {
    $warn = 1;
    shift @ARGV;
  } else {
    last;
  }
}

foreach my $file (grep( -f $_, @ARGV)) {
  print
    "=" x 78, "\n",
    "Parsing $file...\n";

  my $h = HTML::TreeBuilder->new;
  $h->ignore_unknown(0);
  $h->warn($warn);
  $h->parse_file($file);

  print "- "x 39, "\n";
  $h->dump();
  $h = $h->delete(); # nuke it!
  print "\n\n";
}
exit;
__END__
