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
Mojo::ByteStream(3) User Contributed Perl Documentation Mojo::ByteStream(3)
 

Mojo::ByteStream - ByteStream

  use Mojo::ByteStream;
  # Manipulate bytestream
  my $stream = Mojo::ByteStream->new('foo_bar_baz');
  say $stream->camelize;
  # Chain methods
  my $stream = Mojo::ByteStream->new('foo bar baz')->quote;
  $stream = $stream->unquote->encode('UTF-8')->b64_encode('');
  say "$stream";
  # Use the alternative constructor
  use Mojo::ByteStream 'b';
  my $stream = b('foobarbaz')->b64_encode('')->say;

Mojo::ByteStream is a scalar-based container for bytestreams that provides a more friendly API for many of the functions in Mojo::Util.
  # Access scalar directly to manipulate bytestream
  my $stream = Mojo::ByteStream->new('foo');
  $$stream .= 'bar';

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

  my $stream = b('test123');
Construct a new scalar-based Mojo::ByteStream object.

Mojo::ByteStream implements the following methods.

  $stream = $stream->b64_decode;
Base64 decode bytestream with "b64_decode" in Mojo::Util.

  $stream = $stream->b64_encode;
  $stream = $stream->b64_encode("\n");
Base64 encode bytestream with "b64_encode" in Mojo::Util.
  # "Zm9vIGJhciBiYXo="
  b('foo bar baz')->b64_encode('');

  $stream = $stream->camelize;
Camelize bytestream with "camelize" in Mojo::Util.

  my $stream2 = $stream->clone;
Return a new Mojo::ByteStream object cloned from this bytestream.

  $stream = $stream->decamelize;
Decamelize bytestream with "decamelize" in Mojo::Util.

  $stream = $stream->decode;
  $stream = $stream->decode('iso-8859-1');
Decode bytestream with "decode" in Mojo::Util, defaults to using "UTF-8".
  # "♥"
  b('%E2%99%A5')->url_unescape->decode;

  $stream = $stream->encode;
  $stream = $stream->encode('iso-8859-1');
Encode bytestream with "encode" in Mojo::Util, defaults to using "UTF-8".
  # "%E2%99%A5"
  b('♥')->encode->url_escape;

  $stream = $stream->gunzip;
Uncompress bytestream with "gunzip" in Mojo::Util.

  stream = $stream->gzip;
Compress bytestream with "gzip" in Mojo::Util.

  $stream = $stream->hmac_sha1_sum('passw0rd');
Generate HMAC-SHA1 checksum for bytestream with "hmac_sha1_sum" in Mojo::Util.
  # "7fbdc89263974a89210ea71f171c77d3f8c21471"
  b('foo bar baz')->hmac_sha1_sum('secr3t');

  $stream = $stream->html_unescape;
Unescape all HTML entities in bytestream with "html_unescape" in Mojo::Util.
  # "%3Chtml%3E"
  b('<html>')->html_unescape->url_escape;

  $stream = $stream->md5_bytes;
Generate binary MD5 checksum for bytestream with "md5_bytes" in Mojo::Util.

  $stream = $stream->md5_sum;
Generate MD5 checksum for bytestream with "md5_sum" in Mojo::Util.

  my $stream = Mojo::ByteStream->new('test123');
Construct a new scalar-based Mojo::ByteStream object.

  $stream = $stream->punycode_decode;
Punycode decode bytestream with "punycode_decode" in Mojo::Util.

  $stream = $stream->punycode_encode;
Punycode encode bytestream with "punycode_encode" in Mojo::Util.

  $stream = $stream->quote;
Quote bytestream with "quote" in Mojo::Util.

  $stream = $stream->say;
  $stream = $stream->say(*STDERR);
Print bytestream to handle and append a newline, defaults to using "STDOUT".

  my $bool = $stream->secure_compare($str);
Compare bytestream with "secure_compare" in Mojo::Util.

  $stream = $stream->sha1_bytes;
Generate binary SHA1 checksum for bytestream with "sha1_bytes" in Mojo::Util.

  $stream = $stream->sha1_sum;
Generate SHA1 checksum for bytestream with "sha1_sum" in Mojo::Util.

  my $size = $stream->size;
Size of bytestream.

  $stream = $stream->slugify;
  $stream = $stream->slugify($bool);
Generate URL slug for bytestream with "slugify" in Mojo::Util.

  my $collection = $stream->split(',');
  my $collection = $stream->split(',', -1);
Turn bytestream into Mojo::Collection object containing Mojo::ByteStream objects.
  # "One,Two,Three"
  b("one,two,three")->split(',')->map('camelize')->join(',');
  # "One,Two,Three,,,"
  b("one,two,three,,,")->split(',', -1)->map('camelize')->join(',');

  $stream = $stream->tap(sub {...});
Alias for "tap" in Mojo::Base.

  $stream = $stream->term_escape;
Escape POSIX control characters in bytestream with "term_escape" in Mojo::Util.
  # Print binary checksum to terminal
  b('foo')->sha1_bytes->term_escape->say;

  my $str = $stream->to_string;
Stringify bytestream.

  $stream = $stream->trim;
Trim whitespace characters from both ends of bytestream with "trim" in Mojo::Util.

  $stream = $stream->unindent;
Unindent bytestream with "unindent" in Mojo::Util.

  $stream = $stream->unquote;
Unquote bytestream with "unquote" in Mojo::Util.

  $stream = $stream->url_escape;
  $stream = $stream->url_escape('^A-Za-z0-9\-._~');
Percent encode all unsafe characters in bytestream with "url_escape" in Mojo::Util.
  # "%E2%98%83"
  b('☃')->encode->url_escape;

  $stream = $stream->url_unescape;
Decode percent encoded characters in bytestream with "url_unescape" in Mojo::Util.
  # "<html>"
  b('%3Chtml%3E')->url_unescape->xml_escape;

  my $new_class = Mojo::ByteStream->with_roles('Mojo::ByteStream::Role::One');
  my $new_class = Mojo::ByteStream->with_roles('+One', '+Two');
  $stream       = $stream->with_roles('+One', '+Two');
Alias for "with_roles" in Mojo::Base.

  $stream = $stream->xml_escape;
Escape only the characters "&", "<", ">", """ and "'" in bytestream with "xml_escape" in Mojo::Util.

  $stream = $stream->xor_encode($key);
XOR encode bytestream with "xor_encode" in Mojo::Util.
  # "%04%0E%15B%03%1B%10"
  b('foo bar')->xor_encode('baz')->url_escape;

Mojo::ByteStream overloads the following operators.

  my $bool = !!$bytestream;
Always true.

  my $str = "$bytestream";
Alias for "to_string".

Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.
2018-12-17 perl v5.28.1

Search for    or go to Top of page |  Section 3 |  Main Index

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