.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Mojo::Parameters 3pm" .TH Mojo::Parameters 3pm "2013-04-23" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Mojo::Parameters \- Parameters .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Mojo::Parameters; \& \& # Parse \& my $params = Mojo::Parameters\->new(\*(Aqfoo=bar&baz=23\*(Aq); \& say $params\->param(\*(Aqbaz\*(Aq); \& \& # Build \& my $params = Mojo::Parameters\->new(foo => \*(Aqbar\*(Aq, baz => 23); \& push @$params, i => \*(AqX mojolicious\*(Aq; \& say "$params"; .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Mojo::Parameters is a container for form parameters used by Mojo::URL. .SH "ATTRIBUTES" .IX Header "ATTRIBUTES" Mojo::Parameters implements the following attributes. .SS "charset" .IX Subsection "charset" .Vb 2 \& my $charset = $params\->charset; \& $params = $params\->charset(\*(AqUTF\-8\*(Aq); .Ve .PP Charset used for encoding and decoding parameters, defaults to \f(CW\*(C`UTF\-8\*(C'\fR. .PP .Vb 2 \& # Disable encoding and decoding \& $params\->charset(undef); .Ve .SS "pair_separator" .IX Subsection "pair_separator" .Vb 2 \& my $separator = $params\->pair_separator; \& $params = $params\->pair_separator(\*(Aq;\*(Aq); .Ve .PP Separator for parameter pairs, defaults to \f(CW\*(C`&\*(C'\fR. .SH "METHODS" .IX Header "METHODS" Mojo::Parameters inherits all methods from Mojo::Base and implements the following new ones. .SS "new" .IX Subsection "new" .Vb 5 \& my $params = Mojo::Parameters\->new; \& my $params = Mojo::Parameters\->new(\*(Aqfoo=b%3Bar&baz=23\*(Aq); \& my $params = Mojo::Parameters\->new(foo => \*(Aqb;ar\*(Aq); \& my $params = Mojo::Parameters\->new(foo => [\*(Aqba;r\*(Aq, \*(Aqb;az\*(Aq]); \& my $params = Mojo::Parameters\->new(foo => [\*(Aqba;r\*(Aq, \*(Aqb;az\*(Aq], bar => 23); .Ve .PP Construct a new Mojo::Parameters object and \f(CW\*(C`parse\*(C'\fR parameters if necessary. .SS "append" .IX Subsection "append" .Vb 3 \& $params = $params\->append(foo => \*(Aqba;r\*(Aq); \& $params = $params\->append(foo => [\*(Aqba;r\*(Aq, \*(Aqb;az\*(Aq]); \& $params = $params\->append(foo => [\*(Aqba;r\*(Aq, \*(Aqb;az\*(Aq], bar => 23); .Ve .PP Append parameters. Note that this method will normalize the parameters. .PP .Vb 2 \& # "foo=bar&foo=baz" \& Mojo::Parameters\->new(\*(Aqfoo=bar\*(Aq)\->append(foo => \*(Aqbaz\*(Aq); \& \& # "foo=bar&foo=baz&foo=yada" \& Mojo::Parameters\->new(\*(Aqfoo=bar\*(Aq)\->append(foo => [\*(Aqbaz\*(Aq, \*(Aqyada\*(Aq]); \& \& # "foo=bar&foo=baz&foo=yada&bar=23" \& Mojo::Parameters\->new(\*(Aqfoo=bar\*(Aq)\->append(foo => [\*(Aqbaz\*(Aq, \*(Aqyada\*(Aq], bar => 23); .Ve .SS "clone" .IX Subsection "clone" .Vb 1 \& my $params2 = $params\->clone; .Ve .PP Clone parameters. .SS "merge" .IX Subsection "merge" .Vb 1 \& $params = $params\->merge(Mojo::Parameters\->new(foo => \*(Aqb;ar\*(Aq, baz => 23)); .Ve .PP Merge Mojo::Parameters objects. Note that this method will normalize the parameters. .SS "param" .IX Subsection "param" .Vb 5 \& my @names = $params\->param; \& my $foo = $params\->param(\*(Aqfoo\*(Aq); \& my @foo = $params\->param(\*(Aqfoo\*(Aq); \& my $foo = $params\->param(foo => \*(Aqba;r\*(Aq); \& my @foo = $params\->param(foo => qw(ba;r ba;z)); .Ve .PP Check and replace parameter value. Be aware that if you request a parameter by name in scalar context, you will receive only the \fIfirst\fR value for that parameter, if there are multiple values for that name. In list context you will receive \fIall\fR of the values for that name. Note that this method will normalize the parameters. .SS "params" .IX Subsection "params" .Vb 2 \& my $array = $params\->params; \& $params = $params\->params([foo => \*(Aqb;ar\*(Aq, baz => 23]); .Ve .PP Parsed parameters. Note that this method will normalize the parameters. .SS "parse" .IX Subsection "parse" .Vb 1 \& $params = $params\->parse(\*(Aqfoo=b%3Bar&baz=23\*(Aq); .Ve .PP Parse parameters. .SS "remove" .IX Subsection "remove" .Vb 1 \& $params = $params\->remove(\*(Aqfoo\*(Aq); .Ve .PP Remove parameters. Note that this method will normalize the parameters. .PP .Vb 2 \& # "bar=yada" \& Mojo::Parameters\->new(\*(Aqfoo=bar&foo=baz&bar=yada\*(Aq)\->remove(\*(Aqfoo\*(Aq); .Ve .SS "to_hash" .IX Subsection "to_hash" .Vb 1 \& my $hash = $params\->to_hash; .Ve .PP Turn parameters into a hash reference. Note that this method will normalize the parameters. .PP .Vb 2 \& # "baz" \& Mojo::Parameters\->new(\*(Aqfoo=bar&foo=baz\*(Aq)\->to_hash\->{foo}[1]; .Ve .SS "to_string" .IX Subsection "to_string" .Vb 2 \& my $string = $params\->to_string; \& my $string = "$params"; .Ve .PP Turn parameters into a string. .SH "PARAMETERS" .IX Header "PARAMETERS" Direct array reference access to the parsed parameters is also possible. Note that this will normalize the parameters. .PP .Vb 2 \& say $params\->[0]; \& say for @$params; .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" Mojolicious, Mojolicious::Guides, .