File: htmltree

package info (click to toggle)
libhtml-tree-perl 3.19.01-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 464 kB
  • ctags: 144
  • sloc: perl: 3,260; makefile: 40
file content (50 lines) | stat: -rwxr-xr-x 1,089 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/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__