/usr/share/perl5/HTML/Parse.pm is in libhtml-tree-perl 4.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | package HTML::Parse;
use 5.008;
=head1 NAME
HTML::Parse - Deprecated, a wrapper around HTML::TreeBuilder
=head1 SYNOPSIS
See the documentation for HTML::TreeBuilder
=head1 DESCRIPTION
Disclaimer: This module is provided only for backwards compatibility
with earlier versions of this library. New code should I<not> use
this module, and should really use the HTML::Parser and
HTML::TreeBuilder modules directly, instead.
The C<HTML::Parse> module provides functions to parse HTML documents.
There are two functions exported by this module:
=over 4
=item parse_html($html) or parse_html($html, $obj)
This function is really just a synonym for $obj->parse($html) and $obj
is assumed to be a subclass of C<HTML::Parser>. Refer to
L<HTML::Parser> for more documentation.
If $obj is not specified, the $obj will default to an internally
created new C<HTML::TreeBuilder> object configured with strict_comment()
turned on. That class implements a parser that builds (and is) a HTML
syntax tree with HTML::Element objects as nodes.
The return value from parse_html() is $obj.
=item parse_htmlfile($file, [$obj])
Same as parse_html(), but pulls the HTML to parse, from the named file.
Returns C<undef> if the file could not be opened, or $obj otherwise.
=back
When a C<HTML::TreeBuilder> object is created, the following variables
control how parsing takes place:
=over 4
=item $HTML::Parse::IMPLICIT_TAGS
Setting this variable to true will instruct the parser to try to
deduce implicit elements and implicit end tags. If this variable is
false you get a parse tree that just reflects the text as it stands.
Might be useful for quick & dirty parsing. Default is true.
Implicit elements have the implicit() attribute set.
=item $HTML::Parse::IGNORE_UNKNOWN
This variable contols whether unknow tags should be represented as
elements in the parse tree. Default is true.
=item $HTML::Parse::IGNORE_TEXT
Do not represent the text content of elements. This saves space if
all you want is to examine the structure of the document. Default is
false.
=item $HTML::Parse::WARN
Call warn() with an apropriate message for syntax errors. Default is
false.
=back
=head1 REMEMBER!
HTML::TreeBuilder objects should be explicitly destroyed when you're
finished with them. See L<HTML::TreeBuilder>.
=head1 SEE ALSO
L<HTML::Parser>, L<HTML::TreeBuilder>, L<HTML::Element>
=head1 COPYRIGHT
Copyright 1995-1998 Gisle Aas, 1999-2004 Sean M. Burke, 2005 Andy Lester,
2006 Pete Krawczyk.
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
This program is distributed in the hope that it will be useful, but
without any warranty; without even the implied warranty of
merchantability or fitness for a particular purpose.
=head1 AUTHOR
Current Author:
Jeff Fearn C<< <jfearn@cpan.org> >>.
Original HTML-Tree author:
Gisle Aas.
Former Authors:
Sean M. Burke.
Andy Lester.
Pete Krawczyk C<< <petek@cpan.org> >>.
=cut
use warnings;
use strict;
use vars qw(@ISA $VERSION @EXPORT
$IMPLICIT_TAGS $IGNORE_UNKNOWN $IGNORE_TEXT $WARN
);
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(parse_html parse_htmlfile);
# Backwards compatability
$IMPLICIT_TAGS = 1;
$IGNORE_UNKNOWN = 1;
$IGNORE_TEXT = 0;
$WARN = 0;
require HTML::TreeBuilder;
$VERSION = 4.2;
sub parse_html {
my $p = $_[1];
$p = _new_tree_maker() unless $p;
$p->parse( $_[0] );
}
sub parse_htmlfile {
my ( $file, $p ) = @_;
my ($HTML);
open( $HTML, "<", $file ) or return;
$p = _new_tree_maker() unless $p;
$p->parse_file($HTML);
}
sub _new_tree_maker {
my $p = HTML::TreeBuilder->new(
implicit_tags => $IMPLICIT_TAGS,
ignore_unknown => $IGNORE_UNKNOWN,
ignore_text => $IGNORE_TEXT,
'warn' => $WARN,
);
$p->strict_comment(1);
$p;
}
1;
|