Mojo::ByteStream(3) User Contributed Perl Documentation Mojo::ByteStream(3)NAMEMojo::ByteStream - ByteStream
SYNOPSIS
# Manipulate bytestreams
use Mojo::ByteStream;
my $stream = Mojo::ByteStream->new('foo_bar_baz');
print $stream->camelize;
# Chain methods
my $stream = Mojo::ByteStream->new('foo bar baz')->quote;
$stream = $stream->unquote->encode('UTF-8')->b64_encode;
print "$stream";
# Use the alternative constructor
use Mojo::ByteStream 'b';
my $stream = b('foobarbaz')->html_escape;
DESCRIPTIONMojo::ByteStream provides a more friendly API for the bytestream
manipulation functions in Mojo::Util.
METHODSMojo::ByteStream inherits all methods from Mojo::Base and implements
the following new ones.
"new"
my $stream = Mojo::ByteStream->new('test123');
Construct a new Mojo::ByteStream object.
"b64_decode"
$stream = $stream->b64_decode;
Base64 decode bytestream.
"b64_encode"
$stream = $stream->b64_encode;
$stream = $stream->b64_encode('');
Base64 encode bytestream.
"camelize"
$stream = $stream->camelize;
Convert snake case bytestream to camel case and replace "-" with "::".
foo_bar -> FooBar
foo_bar-baz -> FooBar::Baz
"clone"
my $stream2 = $stream->clone;
Clone bytestream.
"decamelize"
$stream = $stream->decamelize;
Convert camel case bytestream to snake case and replace "::" with "-".
FooBar -> foo_bar
FooBar::Baz -> foo_bar-baz
"decode"
$stream = $stream->decode;
$stream = $stream->decode($encoding);
Decode bytestream, defaults to "UTF-8".
$stream->decode('UTF-8')->to_string;
"encode"
$stream = $stream->encode;
$stream = $stream->encode($encoding);
Encode bytestream, defaults to "UTF-8".
$stream->encode('UTF-8')->to_string;
"hmac_md5_sum"
$stream = $stream->hmac_md5_sum($secret);
Turn bytestream into HMAC-MD5 checksum of old content.
"hmac_sha1_sum"
$stream = $stream->hmac_sha1_sum($secret);
Turn bytestream into HMAC-SHA1 checksum of old content. Note that Perl
5.10 or Digest::SHA are required for "SHA1" support.
"html_escape"
$stream = $stream->html_escape;
HTML escape bytestream.
"html_unescape"
$stream = $stream->html_unescape;
HTML unescape bytestream.
"md5_bytes"
$stream = $stream->md5_bytes;
Turn bytestream into binary MD5 checksum of old content.
"md5_sum"
$stream = $stream->md5_sum;
Turn bytestream into MD5 checksum of old content.
"punycode_decode"
$stream = $stream->punycode_decode;
Punycode decode bytestream, as described in RFC 3492.
"punycode_encode"
$stream = $stream->punycode_encode;
Punycode encode bytestream, as described in RFC 3492.
"qp_decode"
$stream = $stream->qp_decode;
Quoted Printable decode bytestream.
"qp_encode"
$stream = $stream->qp_encode;
Quoted Printable encode bytestream.
"quote"
$stream = $stream->quote;
Quote bytestream.
"say"
$stream->say;
$stream->say(*STDERR);
Print bytestream to handle or STDOUT and append a newline.
"secure_compare"
my $success = $stream->secure_compare($string);
Constant time comparison algorithm to prevent timing attacks.
"sha1_bytes"
$stream = $stream->sha1_bytes;
Turn bytestream into binary SHA1 checksum of old content. Note that
Perl 5.10 or Digest::SHA are required for "SHA1" support.
"sha1_sum"
$stream = $stream->sha1_sum;
Turn bytestream into SHA1 checksum of old content. Note that Perl 5.10
or Digest::SHA are required for "SHA1" support.
"size"
my $size = $stream->size;
Size of bytestream.
"split"
my $collection = $stream->split(',');
Turn bytestream into Mojo::Collection. Note that this method is
EXPERIMENTAL and might change without warning!
$stream->split(',')->map(sub { $_->quote })->join("\n")->say;
"to_string"
my $string = $stream->to_string;
Stringify bytestream.
"trim"
$stream = $stream->trim;
Trim whitespace characters from both ends of bytestream.
"unquote"
$stream = $stream->unquote;
Unquote bytestream.
"url_escape"
$stream = $stream->url_escape;
$stream = $stream->url_escape('A-Za-z0-9\-\.\_\~');
URL escape bytestream.
"url_unescape"
$stream = $stream->url_unescape;
URL unescape bytestream.
"xml_escape"
$stream = $stream->xml_escape;
XML escape bytestream, this is a much faster version of "html_escape"
escaping only the characters "&", "<", ">", """ and "'".
SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.
perl v5.14.1 2011-09-05 Mojo::ByteStream(3)