Mojo::Util(3p)

NAME
Mojo::Util - Portable utility functions

SYNOPSIS
  use Mojo::Util qw/url_escape url_unescape/;

  my $string = 'test=23';
  my $escaped = url_escape $string;
  say url_unescape $escaped;

DESCRIPTION
Mojo::Util provides portable utility functions for Mojo.

FUNCTIONS
Mojo::Util implements the following functions.

  "b64_decode"
  my $string = b64_decode $b64;

Base64 decode string.

  "b64_encode"
  my $b64 = b64_encode $string;

Base64 encode string.

  "camelize"
  my $camelcase = camelize $snakecase;

Convert snake case string to camel case and replace "-" with "::".

  # "FooBar"
  camelize 'foo_bar';

  # "FooBar::Baz"
  camelize 'foo_bar-baz';

  # "FooBar::Baz"
  camelize 'FooBar::Baz';

  "decamelize"
  my $snakecase = decamelize $camelcase;

Convert camel case string to snake case and replace "::" with "-".

  # "foo_bar"
  decamelize 'FooBar';

  # "foo_bar-baz"
  decamelize 'FooBar::Baz';

  # "foo_bar-baz"
  decamelize 'foo_bar-baz';

  "decode"
  my $chars = decode 'UTF-8', $bytes;

Decode bytes to characters.

  "encode"
  my $bytes = encode 'UTF-8', $chars;

Encode characters to bytes.

  "get_line"
  my $line = get_line \$string;

Extract whole line from string or return "undef". Lines are expected to end with "0x0d 0x0a" or 0x0a.

  "hmac_md5_sum"
  my $checksum = hmac_md5_sum $string, $secret;

Generate HMAC-MD5 checksum for string.

  "hmac_sha1_sum"
  my $checksum = hmac_sha1_sum $string, $secret;

Generate HMAC-SHA1 checksum for string.

  "html_escape"
  my $escaped = html_escape $string;

HTML escape string.

  "html_unescape"
  my $string = html_unescape $escaped;

HTML unescape string.

  "md5_bytes"
  my $checksum = md5_bytes $string;

Generate binary MD5 checksum for string.

  "md5_sum"
  my $checksum = md5_sum $string;

Generate MD5 checksum for string.

  "punycode_decode"
  my $string = punycode_decode $punycode;

Punycode decode string.

  "punycode_encode"
  my $punycode = punycode_encode $string;

Punycode encode string.

  "quote"
  my $quoted = quote $string;

Quote string.

  "qp_decode"
  my $string = qp_decode $qp;

Quoted Printable decode string.

  "qp_encode"
  my $qp = qp_encode $string;

Quoted Printable encode string.

  "secure_compare"
  my $success = secure_compare $string1, $string2;

Constant time comparison algorithm to prevent timing attacks.

  "sha1_bytes"
  my $checksum = sha1_bytes $string;

Generate binary SHA1 checksum for string.

  "sha1_sum"
  my $checksum = sha1_sum $string;

Generate SHA1 checksum for string.

  "trim"
  my $trimmed = trim $string;

Trim whitespace characters from both ends of string.

  "unquote"
  my $string = unquote $quoted;

Unquote string.

  "url_escape"
  my $escaped = url_escape $string;
  my $escaped = url_escape $string, 'A-Za-z0-9\-\.\_\~';

URL escape string.

  "url_unescape"
  my $string = url_unescape $escaped;

URL unescape string.

  "xml_escape"
  my $escaped = xml_escape $string;

XML escape string, this is a much faster version of "html_escape" escaping only the characters "&", "<", ">", """ and "'".

SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.