
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 %postThese 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' ].
%fieldsThis 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,
%cookiesThis is built immediately, because cookies are usually short in length. Cookies are not automatically url-decoded.
%header,
%headersIn 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:
$header{CONTENT_TYPE}
$header{'Content-Type'}
$header{Content_Type}
$headers{CONTENT_type}
If a value contains newlines, the header is repeated for each line:
$header{Allow} = "HEAD\nGET"; # equivalent to HEAD,GET

Juerd Waalboer <juerd@cpan.org>
Current maintainer: Mischa POSLAWSKY <shiar@cpan.org>