# phpman > perldoc > Template::Plugin::CGI

## NAME
    [Template::Plugin::CGI](https://www.chedong.com/phpMan.php/perldoc/Template%3A%3APlugin%3A%3ACGI/markdown) - Interface to the CGI module

## SYNOPSIS
        [% USE CGI %]
        [% CGI.param('parameter') %]

        [% USE things = CGI %]
        [% things.param('name') %]

        # see CGI docs for other methods provided by the CGI object

## DESCRIPTION
    This is a very simple Template Toolkit Plugin interface to the "CGI" module. A "CGI" object will
    be instantiated via the following directive:

        [% USE CGI %]

    "CGI" methods may then be called as follows:

        [% CGI.header %]
        [% CGI.param('parameter') %]

    An alias can be used to provide an alternate name by which the object should be identified.

        [% USE mycgi = CGI %]
        [% mycgi.start_form %]
        [% mycgi.popup_menu({ Name   => 'Color'
                              Values => [ 'Green' 'Black' 'Brown' ] }) %]

    Parenthesised parameters to the "USE" directive will be passed to the plugin constructor:

        [% USE cgiprm = CGI('uid=abw&name=Andy+Wardley') %]
        [% cgiprm.param('uid') %]

## METHODS
    In addition to all the methods supported by the "CGI" module, this plugin defines the following.

  params()
    This method returns a reference to a hash of all the "CGI" parameters. Any parameters that have
    multiple values will be returned as lists.

        [% USE CGI('user=abw&item=foo&item=bar') %]
        [% CGI.params.user %]            # abw
        [% CGI.params.item.join(', ') %] # foo, bar

## AUTHOR
    Andy Wardley <<abw@wardley.org>> <<http://wardley.org/>>

## COPYRIGHT
    Copyright (C) 1996-2007 Andy Wardley. All Rights Reserved.

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

## SEE ALSO
    [Template::Plugin](https://www.chedong.com/phpMan.php/perldoc/Template%3A%3APlugin/markdown), CGI

