Mojo::Path(3pm) User Contributed Perl Documentation Mojo::Path(3pm)NAME
Mojo::Path - Path
SYNOPSIS
use Mojo::Path;
my $path = Mojo::Path->new('/foo%2Fbar%3B/baz.html');
shift @{$path->parts};
say $path;
DESCRIPTION
Mojo::Path is a container for URL paths.
ATTRIBUTES
Mojo::Path implements the following attributes.
"leading_slash"
my $leading_slash = $path->leading_slash;
$path = $path->leading_slash(1);
Path has a leading slash.
"parts"
my $parts = $path->parts;
$path = $path->parts([qw(foo bar baz)]);
The path parts.
# Part with slash
push @{$path->parts}, 'foo/bar';
"trailing_slash"
my $trailing_slash = $path->trailing_slash;
$path = $path->trailing_slash(1);
Path has a trailing slash.
METHODS
Mojo::Path inherits all methods from Mojo::Base and implements the following new ones.
"new"
my $path = Mojo::Path->new;
my $path = Mojo::Path->new('/foo%2Fbar%3B/baz.html');
Construct a new Mojo::Path object.
"canonicalize"
$path = $path->canonicalize;
Canonicalize path.
# "/foo/baz"
Mojo::Path->new('/foo/bar/../baz')->canonicalize;
"clone"
my $clone = $path->clone;
Clone path.
"contains"
my $success = $path->contains('/foo');
Check if path contains given prefix.
# True
Mojo::Path->new('/foo/bar')->contains('/');
Mojo::Path->new('/foo/bar')->contains('/foo');
Mojo::Path->new('/foo/bar')->contains('/foo/bar');
# False
Mojo::Path->new('/foo/bar')->contains('/f');
Mojo::Path->new('/foo/bar')->contains('/bar');
Mojo::Path->new('/foo/bar')->contains('/whatever');
"merge"
$path = $path->merge('/foo/bar');
$path = $path->merge('foo/bar');
$path = $path->merge(Mojo::Path->new('foo/bar'));
Merge paths.
# "/baz/yada"
Mojo::Path->new('/foo/bar')->merge('/baz/yada');
# "/foo/baz/yada"
Mojo::Path->new('/foo/bar')->merge('baz/yada');
# "/foo/bar/baz/yada"
Mojo::Path->new('/foo/bar/')->merge('baz/yada');
"parse"
$path = $path->parse('/foo%2Fbar%3B/baz.html');
Parse path. Note that %2F will be treated as "/" for security reasons.
"to_abs_string"
my $string = $path->to_abs_string;
Turn path into an absolute string.
"to_string"
my $string = $path->to_string;
Turn path into a string.
SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.
perl v5.14.2 2012-09-05 Mojo::Path(3pm)
Check Out this Related Man Page
Mojo::JSON(3pm) User Contributed Perl Documentation Mojo::JSON(3pm)NAME
Mojo::JSON - Minimalistic JSON
SYNOPSIS
use Mojo::JSON;
my $json = Mojo::JSON->new;
my $bytes = $json->encode({foo => [1, 2], bar => 'hello!'});
my $hash = $json->decode($bytes);
DESCRIPTION
Mojo::JSON is a minimalistic and relaxed implementation of RFC 4627. While it is possibly the fastest pure-Perl JSON parser available, you
should not use it for validation.
It supports normal Perl data types like "Scalar", "Array" reference, "Hash" reference and will try to call the "TO_JSON" method on blessed
references, or stringify them if it doesn't exist.
[1, -2, 3] -> [1, -2, 3]
{"foo": "bar"} -> {foo => 'bar'}
Literal names will be translated to and from Mojo::JSON constants or a similar native Perl value.
true -> Mojo::JSON->true
false -> Mojo::JSON->false
null -> undef
Decoding UTF-16 (LE/BE) and UTF-32 (LE/BE) will be handled transparently, encoding will only generate UTF-8. The two unicode whitespace
characters "u2028" and "u2029" will always be escaped to make JSONP easier.
ATTRIBUTES
Mojo::JSON implements the following attributes.
"error"
my $err = $json->error;
$json = $json->error('Oops!');
Parser errors.
METHODS
Mojo::JSON inherits all methods from Mojo::Base and implements the following new ones.
"decode"
my $array = $json->decode($bytes);
my $hash = $json->decode($bytes);
Decode JSON.
"encode"
my $bytes = $json->encode({foo => 'bar'});
Encode Perl structure.
"false"
my $false = Mojo::JSON->false;
my $false = $json->false;
False value, used because Perl has no native equivalent.
"true"
my $true = Mojo::JSON->true;
my $true = $json->true;
True value, used because Perl has no native equivalent.
SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.
perl v5.14.2 2012-09-05 Mojo::JSON(3pm)