Scroll to navigation

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>.
2012-09-05 perl v5.14.2