++ed by:

146 PAUSE users
121 non-PAUSE users.

William J. Middleton


parse_html - Parse HTML text

parse_htmlfile - Parse HTML text from file


 use HTML::Parse;
 $h = parse_htmlfile("test.html");
 print $h->dump;
 $h = parse_html("<p>Some more <i>italic</i> text", $h);

 print parse_htmlfile("index.html")->as_HTML;  # tidy up markup in a file


Disclaimer: This module is provided for backwards compatibility with earlier versions of this library. New code will probably prefer to use the HTML::Parser and HTML::TreeBuilder modules directly.

The HTML::Parse module provides functions to parse HTML documents. There are two functions exported by this module:

parse_html($html, [$obj])

This function is really just a synonym for $obj->parse($html) and $obj is assumed to be a subclass of HTML::Parser. Refer to HTML::Parser for more documentation.

The $obj will default to a internally created HTML::TreeBuilder object. This 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.

parse_htmlfile($file, [$obj])

Same as parse_html(), but obtains HTML text from the named file.

Returns undef if the file could not be opened, or $obj otherwise.

When a HTML::TreeBuilder object is created, the following variables control how parsing takes place:


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.


This variable contols whether unknow tags should be represented as elements in the parse tree. Default is true.


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.


Call warn() with an apropriate message for syntax errors. Default is false.


HTML::Parser, HTML::TreeBuilder, HTML::Element


Copyright 1995-1996 Gisle Aas. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Gisle Aas <aas@sn.no>