---
name: "Template::Plugin::CGI"
section: "3pm"
platform: "linux"
package: "libtemplate-perl"
version: "2.27-1+b8"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Template::Plugin::CGI"
---

# Template::Plugin::CGI(3pm)

Interface to the CGI module

## NAME

Template::Plugin::CGI - 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, CGI
