.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
.\" ========================================================================
.de Sh \" Subsection heading
.de Sp \" Vertical space (when we can't use .PP)
.de Vb \" Begin verbatim text
.de Ve \" End verbatim text
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
. tm Index:\\$1\t\\n%\t"\\$2"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. \" simple accents for nroff and troff
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
.\" ========================================================================
.IX Title "HTML::HeadParser 3"
.TH HTML::HeadParser 3 "2002-03-11" "perl v5.8.0" "User Contributed Perl Documentation"
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 \fIHTML::HeadParser\fR is a specialized (and lightweight)
\&\fIHTML::Parser\fR that will only parse the <\s-1HEAD\s0>...</HEAD>
section of an \s-1HTML\s0 document. The \fIparse()\fR method
will return a \s-1FALSE\s0 value as soon as some <\s-1BODY\s0> element or body
text are found, and should not be called again after this.
The \fIHTML::HeadParser\fR keeps a reference to a header object, and the
parser will update this header object as the various elements of the
<\s-1HEAD\s0> section of the \s-1HTML\s0 document are recognized. The following
header fields are affected:
The \fIContent-Base\fR header is initialized from the <base
href=\*(L"...\*(R"> element.
The \fITitle\fR header is initialized from the <title>...</title>
The \fIIsindex\fR header will be added if there is a <isindex>
element in the <head>. The header value is initialized from the
\&\fIprompt\fR attribute if it is present. If no \fIprompt\fR attribute is
given it will have '?' as the value.
All <meta> elements will initialize headers with the prefix
"\f(CW\*(C`X\-Meta\-\*(C'\fR" on the name. If the <meta> element contains a
\&\f(CW\*(C`http\-equiv\*(C'\fR attribute, then it will be honored as the header name.
The following methods (in addition to those provided by the
superclass) are available:
.IP "$hp = HTML::HeadParser\->new( [$header] )" 4
.IX Item "$hp = HTML::HeadParser->new( [$header] )"
The object constructor. The optional \f(CW$header\fR argument should be a
reference to an object that implement the \fIheader()\fR and \fIpush_header()\fR
methods as defined by the \fIHTTP::Headers\fR class. Normally it will be
of some class that isa or delegates to the \fIHTTP::Headers\fR class.
If no \f(CW$header\fR is given \fIHTML::HeadParser\fR will create an
\&\fIHTTP::Header\fR object by itself (initially empty).
Returns a reference to the header object.
.ie n .IP "$hp\->header( $key )" 4
.el .IP "$hp\->header( \f(CW$key\fR )" 4
.IX Item "$hp->header( $key )"
Returns a header value. It is just a shorter way to write
\&\f(CW\*(C`$hp\->header\->header($key)\*(C'\fR.
\& $h = HTTP::Headers->new;
\& $p = HTML::HeadParser->new($h);
\& <title>Stupid example</title>
\& <base href="http://www.linpro.no/lwp/">
\& Normal text starts here.
\& print $h->title; # should print "Stupid example"
HTML::Parser, HTTP::Headers
The \fIHTTP::Headers\fR class is distributed as part of the \fIlibwww-perl\fR
Copyright 1996\-2001 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.