NAME
Mojo::Parameters - Parameters
SYNOPSIS
use Mojo::Parameters;
# Parse
my $p = Mojo::Parameters->new('foo=bar&baz=23');
say $p->param('baz');
# Build
my $p = Mojo::Parameters->new(foo => 'bar', baz => 23);
say "$p";
DESCRIPTION
Mojo::Parameters is a container for form parameters.
ATTRIBUTES
Mojo::Parameters implements the following attributes.
charset
my $charset = $p->charset;
$p = $p->charset('UTF-8');
Charset used for decoding parameters, defaults to UTF-8
.
pair_separator
my $separator = $p->pair_separator;
$p = $p->pair_separator(';');
Separator for parameter pairs, defaults to &
.
METHODS
Mojo::Parameters inherits all methods from Mojo::Base and implements the following new ones.
new
my $p = Mojo::Parameters->new;
my $p = Mojo::Parameters->new('foo=b%3Bar&baz=23');
my $p = Mojo::Parameters->new(foo => 'b;ar');
my $p = Mojo::Parameters->new(foo => ['ba;r', 'b;az']);
my $p = Mojo::Parameters->new(foo => ['ba;r', 'b;az'], bar => 23);
Construct a new Mojo::Parameters object.
append
$p = $p->append(foo => 'ba;r');
$p = $p->append(foo => ['ba;r', 'b;az']);
$p = $p->append(foo => ['ba;r', 'b;az'], bar => 23);
Append parameters.
# "foo=bar&foo=baz"
Mojo::Parameters->new('foo=bar')->append(foo => 'baz');
# "foo=bar&foo=baz&foo=yada"
Mojo::Parameters->new('foo=bar')->append(foo => ['baz', 'yada']);
# "foo=bar&foo=baz&foo=yada&bar=23"
Mojo::Parameters->new('foo=bar')->append(foo => ['baz', 'yada'], bar => 23);
clone
my $p2 = $p->clone;
Clone parameters.
merge
$p = $p->merge(Mojo::Parameters->new(foo => 'b;ar', baz => 23));
Merge Mojo::Parameters objects.
param
my @names = $p->param;
my $foo = $p->param('foo');
my @foo = $p->param('foo');
my $foo = $p->param(foo => 'ba;r');
my @foo = $p->param(foo => qw(ba;r ba;z));
Check and replace parameter values.
params
my $params = $p->params;
$p = $p->params([foo => 'b;ar', baz => 23]);
Parsed parameters.
parse
$p = $p->parse('foo=b%3Bar&baz=23');
Parse parameters.
remove
$p = $p->remove('foo');
Remove parameters.
# "bar=yada"
Mojo::Parameters->new('foo=bar&foo=baz&bar=yada')->remove('foo');
to_hash
my $hash = $p->to_hash;
Turn parameters into a hash reference.
# "baz"
Mojo::Parameters->new('foo=bar&foo=baz')->to_hash->{foo}[1];
to_string
my $string = $p->to_string;
my $string = "$p";
Turn parameters into a string.