CGI::HTML::Functions(3) User Contributed Perl Documentation
NAME
CGI::HTML::Functions - Documentation for CGI.pm Legacy HTML
Functionality
SYNOPSIS
Nothing here - please do not use this functionality, it is considered
to be legacy and essentially deprecated. This documentation exists
solely to aid in maintenance and migration of legacy code using this
functionality and you are strongly encouraged to migrate away from it.
If you are working on new code you should be using a template engine.
For more information see CGI::Alternatives.
If you really want to continue using the HTML generation functionality
of CGI.pm then you should take a look at HTML::Tiny instead, which may
give you a migration path away from CGI.pm's html generation functions;
i strongly encourage you to move towards template driven page
generation for anything involving markup as it will make porting your
app to other frameworks much easier in the long run.
DESCRIPTION
The documentation here should be considered an addendum to the sections
in the CGI documentation - the sections here are named the same as
those within the CGI perldoc.
Calling CGI.pm routines
HTML tag functions have both attributes (the attribute="value" pairs
within the tag itself) and contents (the part between the opening and
closing pairs). To distinguish between attributes and contents, CGI.pm
uses the convention of passing HTML attributes as a hash reference as
the first argument, and the contents, if any, as any subsequent
arguments. It works out like this:
Code Generated HTML
---- --------------
h1()
h1('some','contents');
some contents
h1({-align=>left});
h1({-align=>left},'contents');
contents
Many newcomers to CGI.pm are puzzled by the difference between the
calling conventions for the HTML shortcuts, which require curly braces
around the HTML tag attributes, and the calling conventions for other
routines, which manage to generate attributes without the curly
brackets. Don't be confused. As a convenience the curly braces are
optional in all but the HTML shortcuts. If you like, you can use curly
braces when calling any routine that takes named arguments. For
example:
print $q->header( { -type => 'image/gif', -expires => '+3d' } );
If you use warnings, you will be warned that some CGI.pm argument names
conflict with built-in perl functions. The most frequent of these is
the -values argument, used to create multi-valued menus, radio button
clusters and the like. To get around this warning, you have several
choices:
1. Use another name for the argument, if one is available. For
example, -value is an alias for -values.
2. Change the capitalization, e.g. -Values
3. Put quotes around the argument name, e.g. '-values'
Function-oriented interface HTML exports
Here is a list of the HTML related function sets you can import:
:form
Import all fill-out form generating methods, such as textfield().
:html2
Import all methods that generate HTML 2.0 standard elements.
:html3
Import all methods that generate HTML 3.0 elements (such as
, and ).
:html4
Import all methods that generate HTML 4 elements (such as ,
and ).
:netscape
Import the