View on
Mischa POSLAWSKY > PLP > PLP::Fields



Annotate this POD



Open  1
View/Report Bugs
Module Version: 1.00   Source  


PLP::Fields - Special hashes for PLP


For your convenience, PLP uses hashes to put things in. Some of these are tied hashes, so they contain a bit magic. For example, building the hash can be delayed until you actually use the hash.

%get and %post

These are built from the key=value&key=value (or key=value;key=value strings in query string and post content. %post is not built if the content type is not application/x-www-form-urlencoded. In post content, the semi-colon is not a valid separator.

%post isn't built until it is used, to speed up your script if you don't use it. Because POST content can only be read once, you can use CGI; and just never access %post to avoid its building.

With a query string of key=firstvalue&key=secondvalue, $get{key} will contain only secondvalue. You can access both elements by using the array reference $get{'@key'}, which will contain [ 'firstvalue', 'secondvalue' ].


This hash combines %get and %post, and triggers creation of %post. POST gets precedence over GET (note: not even the @-keys contain both values).

This hash is built on first use, just like %post.

%cookie, %cookies

This is built immediately, because cookies are usually short in length. Cookies are not automatically url-decoded.

%header, %headers

In this hash, you can set headers. Underscores are converted to normal minus signs, so you can leave out quotes. The hash is case insensitive: the case used when sending the headers is the one you used first. The following are equal:


If a value contains newlines, the header is repeated for each line:

        $header{Allow} = "HEAD\nGET";  # equivalent to HEAD,GET


Juerd Waalboer <>

Current maintainer: Mischa POSLAWSKY <>

syntax highlighting: