home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl
- # Time-stamp: "2000-10-02 14:48:15 MDT" sburke@cpan.org
- #
- # 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 strict;
-
- my $warn;
-
- BEGIN { # We have to set debug level before we use HTML::TreeBuilder.
- $HTML::TreeBuilder::DEBUG = 0; # default debug level
- $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;
- }
- }
- }
-
- use HTML::TreeBuilder;
-
- 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__
-