GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MOJO::UTIL (3)

.ds Aq ’

NAME

Mojo::Util - Portable utility functions

CONTENTS

SYNOPSIS



  use Mojo::Util qw(b64_encode url_escape url_unescape);

  my $str = test=23;
  my $escaped = url_escape $str;
  say url_unescape $escaped;
  say b64_encode $escaped, ;



DESCRIPTION

Mojo::Util provides portable utility functions for Mojo.

FUNCTIONS

Mojo::Util implements the following functions, which can be imported individually.

    b64_decode



  my $bytes = b64_decode $b64;



Base64 decode bytes.

    b64_encode



  my $b64 = b64_encode $bytes;
  my $b64 = b64_encode $bytes, "\n";



Base64 encode bytes, the line ending defaults to a newline.

    camelize



  my $camelcase = camelize $snakecase;



Convert snake_case string to CamelCase and replace - with ::.



  # "FooBar"
  camelize foo_bar;

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

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



    class_to_file



  my $file = class_to_file Foo::Bar;



Convert a class name to a file.



  # "foo_bar"
  class_to_file Foo::Bar;

  # "foobar"
  class_to_file FOO::Bar;

  # "foo_bar"
  class_to_file FooBar;

  # "foobar"
  class_to_file FOOBar;



    class_to_path



  my $path = class_to_path Foo::Bar;



Convert class name to path.



  # "Foo/Bar.pm"
  class_to_path Foo::Bar;

  # "FooBar.pm"
  class_to_path FooBar;



    decamelize



  my $snakecase = decamelize $camelcase;



Convert CamelCase 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, or return undef if decoding failed.

    deprecated



  deprecated foo is DEPRECATED in favor of bar;



Warn about deprecated feature from perspective of caller. You can also set the MOJO_FATAL_DEPRECATIONS environment variable to make them die instead.

    dumper



  my $perl = dumper {some => data};



Dump a Perl data structure with Data::Dumper.

    encode



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



Encode characters to bytes.

    files



  my @files = files /tmp/uploads;
  my @files = files /tmp/uploads, {hidden => 1};



List all files recursively in a directory.



  # List all templates
  say for files /home/sri/myapp/templates;



These options are currently available:
hidden


  hidden => 1



Include hidden files and directories.

    hmac_sha1_sum



  my $checksum = hmac_sha1_sum $bytes, passw0rd;



Generate HMAC-SHA1 checksum for bytes.



  # "11cedfd5ec11adc0ec234466d8a0f2a83736aa68"
  hmac_sha1_sum foo, passw0rd;



    html_unescape



  my $str = html_unescape $escaped;



Unescape all HTML entities in string.



  # "<div>"
  html_unescape <div>;



    md5_bytes



  my $checksum = md5_bytes $bytes;



Generate binary MD5 checksum for bytes.

    md5_sum



  my $checksum = md5_sum $bytes;



Generate MD5 checksum for bytes.



  # "acbd18db4cc2f85cedef654fccc4a4d8"
  md5_sum foo;



    monkey_patch



  monkey_patch $package, foo => sub {...};
  monkey_patch $package, foo => sub {...}, bar => sub {...};



Monkey patch functions into package.



  monkey_patch MyApp,
    one   => sub { say One! },
    two   => sub { say Two! },
    three => sub { say Three! };



    punycode_decode



  my $str = punycode_decode $punycode;



Punycode decode string as described in RFC 3492 <http://tools.ietf.org/html/rfc3492>.



  # "buecher"
  punycode_decode bcher-kva;



    punycode_encode



  my $punycode = punycode_encode $str;



Punycode encode string as described in RFC 3492 <http://tools.ietf.org/html/rfc3492>.



  # "bcher-kva"
  punycode_encode buecher;



    quote



  my $quoted = quote $str;



Quote string.

    secure_compare



  my $bool = secure_compare $str1, $str2;



Constant time comparison algorithm to prevent timing attacks.

    sha1_bytes



  my $checksum = sha1_bytes $bytes;



Generate binary SHA1 checksum for bytes.

    sha1_sum



  my $checksum = sha1_sum $bytes;



Generate SHA1 checksum for bytes.



  # "0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33"
  sha1_sum foo;



    slurp



  my $bytes = slurp /etc/passwd;



Read all data at once from file.

    split_cookie_header



  my $tree = split_cookie_header a=b; expires=Thu, 07 Aug 2008 07:07:59 GMT;



Same as split_header, but handles expires values from RFC 6265 <http://tools.ietf.org/html/rfc6265>.

    split_header



   my $tree = split_header foo="bar baz"; test=123, yada;



Split HTTP header value into key/value pairs, each comma separated part gets its own array reference, and keys without a value get undef assigned.



  # "one"
  split_header(one; two="three four", five=six)->[0][0];

  # "two"
  split_header(one; two="three four", five=six)->[0][2];

  # "three four"
  split_header(one; two="three four", five=six)->[0][3];

  # "five"
  split_header(one; two="three four", five=six)->[1][0];

  # "six"
  split_header(one; two="three four", five=six)->[1][1];



    spurt



  $bytes = spurt $bytes, /etc/passwd;



Write all data at once to file.

    squish



  my $squished = squish $str;



Trim whitespace characters from both ends of string and then change all consecutive groups of whitespace into one space each.



  # "foo bar"
  squish   foo  bar  ;



    steady_time



  my $time = steady_time;



High resolution time elapsed from an arbitrary fixed point in the past, resilient to time jumps if a monotonic clock is available through Time::HiRes.

    tablify



  my $table = tablify [[foo, bar], [baz, yada]];



Row-oriented generator for text tables.



  # "foo   bar\nyada  yada\nbaz   yada\n"
  tablify [[foo, bar], [yada, yada], [baz, yada]];



    term_escape



  my $escaped = term_escape $str;



Escape all POSIX control characters except for \n.



  # "foo\\x09bar\\x0d\n"
  term_escape "foo\tbar\r\n";



    trim



  my $trimmed = trim $str;



Trim whitespace characters from both ends of string.



  # "foo bar"
  trim   foo bar  ;



    unindent



  my $unindented = unindent $str;



Unindent multi-line string.



  # "foo\nbar\nbaz\n"
  unindent "  foo\n  bar\n  baz\n";



    unquote



  my $str = unquote $quoted;



Unquote string.

    url_escape



  my $escaped = url_escape $str;
  my $escaped = url_escape $str, ^A-Za-z0-9\-._~;



Percent encode unsafe characters in string as described in RFC 3986 <http://tools.ietf.org/html/rfc3986>, the pattern used defaults to ^A-Za-z0-9\-._~.



  # "foo%3Bbar"
  url_escape foo;bar;



    url_unescape



  my $str = url_unescape $escaped;



Decode percent encoded characters in string as described in RFC 3986 <http://tools.ietf.org/html/rfc3986>.



  # "foo;bar"
  url_unescape foo%3Bbar;



    xml_escape



  my $escaped = xml_escape $str;



Escape unsafe characters &, <, >, " and in string, but do not escape Mojo::ByteStream objects.



  # "<div>"
  xml_escape <div>;

  # "<div>"
  use Mojo::ByteStream b;
  xml_escape b(<div>);



    xor_encode



  my $encoded = xor_encode $str, $key;



XOR encode string with variable length key.

SEE ALSO

Mojolicious, Mojolicious::Guides, <http://mojolicious.org>.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 MOJO::UTIL (3) 2016-03-16

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.