++ed by:

133 non-PAUSE users.

Gisle Aas


HTML::HeadParser - Parse <HEAD> section of a HTML document


 require HTML::HeadParser;
 $p = HTML::HeadParser->new;
 $p->parse($text) and  print "not finished";

 $p->header('Title')          # to access <title>....</title>
 $p->header('Content-Base')   # to access <base href="http://...">
 $p->header('Foo')            # to access <meta http-equiv="Foo" content="...">


The HTML::HeadParser is a specialized (and lightweight) HTML::Parser that will only parse the <HEAD>...</HEAD> section of a HTML document. The parse() and parse_file() methods will return a FALSE value as soon as a <BODY> element is found, and should not be called again after this.

The HTML::HeadParser constructor takes an optional HTTP::Headers object reference as argument. The parser will update this header object as the various <HEAD> elements are recognized. If no header is given we will create an internal (and initially empty) header object. This header object can be accessed with the header() method.

The following header fields are initialized from elements found in the <HEAD> section of the HTML document:


The Content-Base header is initialized from the <base href="..."> element.


The Title header is initialized from the <title>...</title> element.


The Isindex header will be added if there is a <isindex> element in the <head>. The header value is initialized from the prompt attribute if it is present. If not prompt attribute is given it will have '?' as the value.


All <meta> elements will initialize headers with the prefix "X-Meta-". If the element contains a http-equiv attribute, then it will be honored as the header name.


The following methods (in addition to those provided by the superclass) are available:

$hp = HTML::HeadParser->new( [$header] )
$hp->parse( $text )

Parses some HTML text (see HTML::Parser->parse()) but will return FALSE as soon as parsing should end.


Returns a reference to the HTML::Header object.

$hp->header( $key )

Returns a header value.


Same as $hp->header->as_string


 $h = HTTP::Headers->new;
 $p = HTML::HeadParser->new($h);
 <title>Stupid example</title>
 <base href="http://www.sn.no/libwww-perl/">
 Normal text starts here.
 undef $p;
 print $h->title;   # should print "Stupid example"


HTML::Parser, HTTP::Headers


Copyright 1996-1997 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>

1 POD Error

The following errors were encountered while parsing the POD:

Around line 236:

You forgot a '=back' before '=head1'