Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / man / man3 / HTML::Table.3
.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" 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<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. 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
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" 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.
.if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.\"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" 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
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. 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 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "Table 3"
.TH Table 3 "2003-08-22" "perl v5.8.0" "User Contributed Perl Documentation"
.SH "NAME"
HTML::Table \- produces HTML tables
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\& use HTML::Table;
.Ve
.PP
.Vb 17
\& $table1 = new HTML::Table($rows, $cols);
\& or
\& $table1 = new HTML::Table(-rows=>26,
\& -cols=>2,
\& -align=>'center',
\& -rules=>'rows',
\& -border=>0,
\& -bgcolor=>'blue',
\& -width=>'50%',
\& -spacing=>0,
\& -padding=>0,
\& -style=>'color: blue',
\& -class=>'myclass',
\& -head=> ['head1', 'head2'],
\& -data=> [ ['1:1', '1:2'], ['2:1', '2:2'] ] );
\& or
\& $table1 = new HTML::Table( [ ['1:1', '1:2'], ['2:1', '2:2'] ] );
.Ve
.PP
.Vb 5
\& $table1->setCell($cellrow, $cellcol, 'This is Cell 1');
\& $table1->setCellBGColor('blue');
\& $table1->setCellColSpan(1, 1, 2);
\& $table1->setRowHead(1);
\& $table1->setColHead(1);
.Ve
.PP
.Vb 1
\& $table1->print;
.Ve
.PP
.Vb 3
\& $table2 = new HTML::Table;
\& $table2->addRow(@cell_values);
\& $table2->addCol(@cell_values2);
.Ve
.PP
.Vb 2
\& $table1->setCell(1,1, "$table2->getTable");
\& $table1->print;
.Ve
.SH "REQUIRES"
.IX Header "REQUIRES"
Perl5.002
.SH "EXPORTS"
.IX Header "EXPORTS"
Nothing
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
HTML::Table is used to generate \s-1HTML\s0 tables for
\&\s-1CGI\s0 scripts. By using the methods provided fairly
complex tables can be created, manipulated, then printed
from Perl scripts. The module also greatly simplifies
creating tables within tables from Perl. It is possible
to create an entire table using the methods provided and
never use an \s-1HTML\s0 tag.
.PP
HTML::Table also allows for creating dynamically sized
tables via its addRow and addCol methods. These methods
automatically resize the table if passed more cell values
than will fit in the current table grid.
.PP
Methods are provided for nearly all valid table, row, and
cell tags specified for \s-1HTML\s0 3.0.
.PP
A Japanese translation of the documentation is available at:
.PP
.Vb 1
\& http://member.nifty.ne.jp/hippo2000/perltips/html/table.htm
.Ve
.SH "METHODS"
.IX Header "METHODS"
.Vb 2
\& [] indicate optional parameters. default value will
\& be used if no value is specified
.Ve
.Sh "Creation"
.IX Subsection "Creation"
.IP "new HTML::Table([num_rows, num_cols])" 4
.IX Item "new HTML::Table([num_rows, num_cols])"
Creates a new \s-1HTML\s0 table object. If rows and columns
are specified, the table will be initialized to that
size. Row and Column numbers start at 1,1. 0,0 is
considered an empty table.
.IP "new HTML::Table([\-rows=>num_rows, \-cols=>num_cols, \-border=>border_width, \-align=>table_alignment, \-style=>table_style, \-class=>table_class, \-bgcolor=>back_colour, \-width=>table_width, \-spacing=>cell_spacing, \-padding=>cell_padding])" 4
.IX Item "new HTML::Table([-rows=>num_rows, -cols=>num_cols, -border=>border_width, -align=>table_alignment, -style=>table_style, -class=>table_class, -bgcolor=>back_colour, -width=>table_width, -spacing=>cell_spacing, -padding=>cell_padding])"
Creates a new \s-1HTML\s0 table object. If rows and columns
are specified, the table will be initialized to that
size. Row and Column numbers start at 1,1. 0,0 is
considered an empty table.
.Sh "Table Level Methods"
.IX Subsection "Table Level Methods"
.IP "setBorder([pixels])" 4
.IX Item "setBorder([pixels])"
Sets the table Border Width
.IP "setWidth([pixels|percentofscreen])" 4
.IX Item "setWidth([pixels|percentofscreen])"
Sets the table width
.Sp
.Vb 3
\& $table->setWidth(500);
\& or
\& $table->setWidth('100%');
.Ve
.IP "setCellSpacing([pixels])" 4
.IX Item "setCellSpacing([pixels])"
.PD 0
.IP "setCellPadding([pixels])" 4
.IX Item "setCellPadding([pixels])"
.ie n .IP "setCaption(""CaptionText"" [, TOP|BOTTOM])" 4
.el .IP "setCaption(``CaptionText'' [, TOP|BOTTOM])" 4
.IX Item "setCaption(CaptionText [, TOP|BOTTOM])"
.IP "setBGColor([colorname|colortriplet])" 4
.IX Item "setBGColor([colorname|colortriplet])"
.IP "autoGrow([1|true|on|anything|0|false|off|no|disable])" 4
.IX Item "autoGrow([1|true|on|anything|0|false|off|no|disable])"
.PD
Switches on (default) or off automatic growing of the table
if row or column values passed to setCell exceed current
table size.
.IP "setAlign ( [ \s-1LEFT\s0 , \s-1CENTER\s0 , \s-1RIGHT\s0 ] )" 4
.IX Item "setAlign ( [ LEFT , CENTER , RIGHT ] )"
.PD 0
.IP "setRules ( [ \s-1ROWS\s0 , \s-1COLS\s0 , \s-1ALL\s0, \s-1BOTH\s0 , \s-1GROUPS\s0 ] )" 4
.IX Item "setRules ( [ ROWS , COLS , ALL, BOTH , GROUPS ] )"
.IP "setStyle ( 'css style' )" 4
.IX Item "setStyle ( 'css style' )"
.PD
Sets the table style attribute.
.IP "setClass ( 'css class' )" 4
.IX Item "setClass ( 'css class' )"
Sets the table class attribute.
.IP "setAttr ( 'user attribute' )" 4
.IX Item "setAttr ( 'user attribute' )"
Sets a user defined attribute for the table. Useful for when
HTML::Table hasn't implemented a particular attribute yet
.IP "sort ( [sort_col_num, sort_type, sort_order, num_rows_to_skip] )" 4
.IX Item "sort ( [sort_col_num, sort_type, sort_order, num_rows_to_skip] )"
.Vb 8
\& or
\& sort( -sort_col => sort_col_num,
\& -sort_type => sort_type,
\& -sort_order => sort_order,
\& -skip_rows => num_rows_to_skip,
\& -strip_html => strip_html,
\& -strip_non_numeric => strip_non_numeric,
\& -presort_func => \e&filter_func )
.Ve
.Sp
.Vb 4
\& sort_type in { ALPHA | NUMERIC },
\& sort_order in { ASC | DESC },
\& strip_html in { 0 | 1 }, defaults to 1,
\& strip_non_numeric in { 0 | 1 }, defaults to 1
.Ve
.Sp
.Vb 2
\& Sort all rows on a given column (optionally skipping table header rows
\& by specifiying num_rows_to_skip).
.Ve
.Sp
.Vb 2
\& By default sorting ignores HTML Tags and &nbsp, setting the strip_html parameter to 0
\& disables this behaviour.
.Ve
.Sp
.Vb 2
\& By default numeric Sorting ignores non numeric chararacters, setting the strip_non_numeric
\& parameter to 0 disables this behaviour.
.Ve
.Sp
.Vb 2
\& You can provide your own pre-sort function, useful for pre-processing the cell contents
\& before sorting for example dates.
.Ve
.IP "getTableRows" 4
.IX Item "getTableRows"
Returns the number of rows in the table.
.IP "getTableCols" 4
.IX Item "getTableCols"
Returns the number of columns in the table.
.Sh "Cell Level Methods"
.IX Subsection "Cell Level Methods"
.ie n .IP "setCell(row_num, col_num, ""content"")" 4
.el .IP "setCell(row_num, col_num, ``content'')" 4
.IX Item "setCell(row_num, col_num, content)"
Sets the content of a table cell. This could be any
string, even another table object via the getTable method.
If the row and/or column numbers are outside the existing table
boundaries extra rows and/or columns are created automatically.
.IP "setCellAlign(row_num, col_num, [CENTER|RIGHT|LEFT])" 4
.IX Item "setCellAlign(row_num, col_num, [CENTER|RIGHT|LEFT])"
Sets the horizontal alignment for the cell.
.IP "setCellVAlign(row_num, col_num, [CENTER|TOP|BOTTOM|MIDDLE|BASELINE])" 4
.IX Item "setCellVAlign(row_num, col_num, [CENTER|TOP|BOTTOM|MIDDLE|BASELINE])"
Sets the vertical alignment for the cell.
.IP "setCellWidth(row_num, col_num, [pixels|percentoftable])" 4
.IX Item "setCellWidth(row_num, col_num, [pixels|percentoftable])"
Sets the width of the cell.
.IP "setCellHeight(row_num, col_num, [pixels])" 4
.IX Item "setCellHeight(row_num, col_num, [pixels])"
Sets the height of the cell.
.IP "setCellHead(row_num, col_num)" 4
.IX Item "setCellHead(row_num, col_num)"
Sets cell to be of type head (Ie <th></th>)
.IP "setCellNoWrap(row_num, col_num, [0|1])" 4
.IX Item "setCellNoWrap(row_num, col_num, [0|1])"
Sets the NoWrap attribute of the cell.
.IP "setCellBGColor(row_num, col_num, [colorname|colortriplet])" 4
.IX Item "setCellBGColor(row_num, col_num, [colorname|colortriplet])"
Sets the background colour for the cell
.IP "setCellRowSpan(row_num, col_num, num_cells)" 4
.IX Item "setCellRowSpan(row_num, col_num, num_cells)"
Causes the cell to overlap a number of cells below it.
If the overlap number is greater than number of cells
below the cell, a false value will be returned.
.IP "setCellColSpan(row_num, col_num, num_cells)" 4
.IX Item "setCellColSpan(row_num, col_num, num_cells)"
Causes the cell to overlap a number of cells to the right.
If the overlap number is greater than number of cells to
the right of the cell, a false value will be returned.
.IP "setCellSpan(row_num, col_num, num_rows, num_cols)" 4
.IX Item "setCellSpan(row_num, col_num, num_rows, num_cols)"
Joins the block of cells with the starting cell specified.
The joined area will be num_cols wide and num_rows deep.
.IP "setCellFormat(row_num, col_num, start_string, end_string)" 4
.IX Item "setCellFormat(row_num, col_num, start_string, end_string)"
Start_string should be a string of valid \s-1HTML\s0, which is output before
the cell contents, end_string is valid \s-1HTML\s0 that is output after the cell contents.
This enables formatting to be applied to the cell contents.
.Sp
.Vb 1
\& $table->setCellFormat(1, 2, '<b>', '</b>');
.Ve
.IP "setCellStyle (row_num, col_num, 'css style')" 4
.IX Item "setCellStyle (row_num, col_num, 'css style')"
Sets the cell style attribute.
.IP "setCellClass (row_num, col_num, 'css class')" 4
.IX Item "setCellClass (row_num, col_num, 'css class')"
Sets the cell class attribute.
.IP "setCellAttr (row_num, col_num, 'user attribute')" 4
.IX Item "setCellAttr (row_num, col_num, 'user attribute')"
Sets a user defined attribute for the cell. Useful for when
HTML::Table hasn't implemented a particular attribute yet
.IP "getCell(row_num, col_num)" 4
.IX Item "getCell(row_num, col_num)"
Returns the contents of the specified cell as a string.
.Sh "Column Level Methods"
.IX Subsection "Column Level Methods"
.ie n .IP "addCol(""cell 1 content"" [, ""cell 2 content"", ...])" 4
.el .IP "addCol(``cell 1 content'' [, ``cell 2 content'', ...])" 4
.IX Item "addCol(cell 1 content [, cell 2 content, ...])"
Adds a column to the right end of the table. Assumes if
you pass more values than there are rows that you want
to increase the number of rows.
.IP "setColAlign(col_num, [CENTER|RIGHT|LEFT])" 4
.IX Item "setColAlign(col_num, [CENTER|RIGHT|LEFT])"
Applies setCellAlign over the entire column.
.IP "setColVAlign(col_num, [CENTER|TOP|BOTTOM|MIDDLE|BASELINE])" 4
.IX Item "setColVAlign(col_num, [CENTER|TOP|BOTTOM|MIDDLE|BASELINE])"
Applies setCellVAlign over the entire column.
.IP "setColWidth(col_num, [pixels|percentoftable])" 4
.IX Item "setColWidth(col_num, [pixels|percentoftable])"
Applies setCellWidth over the entire column.
.IP "setColHeight(col_num, [pixels])" 4
.IX Item "setColHeight(col_num, [pixels])"
Applies setCellHeight over the entire column.
.IP "setColHead(col_num)" 4
.IX Item "setColHead(col_num)"
Applies setCellHead over the entire column.
.IP "setColNoWrap(col_num, [0|1])" 4
.IX Item "setColNoWrap(col_num, [0|1])"
Applies setCellNoWrap over the entire column.
.IP "setColBGColor(row_num, [colorname|colortriplet])" 4
.IX Item "setColBGColor(row_num, [colorname|colortriplet])"
Applies setCellBGColor over the entire column.
.IP "setColFormat(col_num, start_string, end_sting)" 4
.IX Item "setColFormat(col_num, start_string, end_sting)"
Applies setCellFormat over the entire column.
.IP "setColStyle (col_num, 'css style')" 4
.IX Item "setColStyle (col_num, 'css style')"
Applies setCellStyle over the entire column.
.IP "setColClass (col_num, 'css class')" 4
.IX Item "setColClass (col_num, 'css class')"
Applies setCellClass over the entire column.
.IP "setColAttr (col_num, 'user attribute')" 4
.IX Item "setColAttr (col_num, 'user attribute')"
Applies setCellAttr over the entire column.
.Sh "Row Level Methods"
.IX Subsection "Row Level Methods"
.ie n .IP "addRow(""cell 1 content"" [, ""cell 2 content"", ...])" 4
.el .IP "addRow(``cell 1 content'' [, ``cell 2 content'', ...])" 4
.IX Item "addRow(cell 1 content [, cell 2 content, ...])"
Adds a row to the bottom of the table. Assumes if you
pass more values than there are columns that you want
to increase the number of columns.
.IP "setRowAlign(row_num, [CENTER|RIGHT|LEFT])" 4
.IX Item "setRowAlign(row_num, [CENTER|RIGHT|LEFT])"
Applies setCellAlign over the entire row.
.IP "setRowVAlign(row_num, [CENTER|TOP|BOTTOM|MIDDLE|BASELINE])" 4
.IX Item "setRowVAlign(row_num, [CENTER|TOP|BOTTOM|MIDDLE|BASELINE])"
Applies setCellVAlign over the entire row.
.IP "setRowWidth(row_num, [pixels|percentoftable])" 4
.IX Item "setRowWidth(row_num, [pixels|percentoftable])"
Applies setCellWidth over the entire row.
.IP "setRowHeight(row_num, [pixels])" 4
.IX Item "setRowHeight(row_num, [pixels])"
Applies setCellHeight over the entire row.
.IP "setRowHead(row_num)" 4
.IX Item "setRowHead(row_num)"
Applies setCellHead over the entire row.
.IP "setRowNoWrap(col_num, [0|1])" 4
.IX Item "setRowNoWrap(col_num, [0|1])"
Applies setCellNoWrap over the entire row.
.IP "setRowBGColor(row_num, [colorname|colortriplet])" 4
.IX Item "setRowBGColor(row_num, [colorname|colortriplet])"
Applies setCellBGColor over the entire row.
.IP "setRowFormat(row_num, start_string, end_string)" 4
.IX Item "setRowFormat(row_num, start_string, end_string)"
Applies setCellFormat over the entire row.
.IP "setRowStyle (row_num, 'css style')" 4
.IX Item "setRowStyle (row_num, 'css style')"
Applies setCellStyle over the entire row.
.IP "setRowClass (row_num, 'css class')" 4
.IX Item "setRowClass (row_num, 'css class')"
Applies setCellClass over the entire row.
.IP "setRowAttr (row_num, 'user attribute')" 4
.IX Item "setRowAttr (row_num, 'user attribute')"
Applies setCellAttr over the entire row.
.Sh "Output Methods"
.IX Subsection "Output Methods"
.IP "getTable" 4
.IX Item "getTable"
Returns a string containing the \s-1HTML\s0 representation
of the table.
.Sp
The same effect can also be achieved by using the object reference
in a string scalar context.
.Sp
For example...
.Sp
.Vb 1
\& This code snippet:
.Ve
.Sp
.Vb 4
\& $table = new HTML::Table(2, 2);
\& print '<p>Start</p>';
\& print $table->getTable;
\& print '<p>End</p>';
.Ve
.Sp
.Vb 1
\& would produce the same output as:
.Ve
.Sp
.Vb 2
\& $table = new HTML::Table(2, 2);
\& print "<p>Start</p>$table<p>End</p>";
.Ve
.IP "print" 4
.IX Item "print"
Prints \s-1HTML\s0 representation of the table to \s-1STDOUT\s0
.SH "CLASS VARIABLES"
.IX Header "CLASS VARIABLES"
.SH "HISTORY"
.IX Header "HISTORY"
This module was originally created in 1997 by Stacy Lacy and whose last
version was uploaded to \s-1CPAN\s0 in 1998. The module was adopted in July 2000
by Anthony Peacock in order to distribute a revised version. This adoption
took place without the explicit consent of Stacy Lacy as it proved impossible
to contact them at the time. Although explicit consent was not obtained at
the time, there was some evidence that Stacy Lacy was looking for somebody
to adopt the module in 1998.
.SH "AUTHOR"
.IX Header "AUTHOR"
Anthony Peacock, a.peacock@chime.ucl.ac.uk
Stacy Lacy (Original author)
.SH "CONTRIBUTIONS"
.IX Header "CONTRIBUTIONS"
Jay Flaherty, fty@mediapulse.com
For \s-1ROW\s0, \s-1COL\s0 & \s-1CELL\s0 \s-1HEAD\s0 methods. Modified the new method to allow hash of values.
.PP
John Stumbles, john@uk.stumbles.org
For autogrow behaviour of setCell, and allowing alignment specifications to be case insensitive
.PP
Arno Teunisse, Arno.Teunisse@Simac.nl
For the methods adding rules, styles and table alignment attributes.
.PP
Ville Skyttä, ville.skytta@iki.fi
For general fixes
.PP
Paul Vernaza, vernaza@stwing.upenn.edu
For the setLast... methods
.PP
David Link, dvlink@yahoo.com
For the sort method
.PP
Tommi Maekitalo, t.maekitalo@epgmbh.de
For adding the 'head' parameter to the new method and for adding the initialisation from an array ref
to the new method.
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (c) 2000 Anthony Peacock, \s-1CHIME\s0.
Copyright (c) 1997 Stacy Lacy
.PP
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIperl\fR\|(1), \s-1\fICGI\s0\fR\|(3)