Mojo::ByteStream - ByteStream
use Mojo::ByteStream; my $stream = Mojo::ByteStream->new('foobarbaz'); $stream->camelize; $stream->decamelize; $stream->b64_encode; $stream->b64_decode; $stream->encode('UTF-8'); $stream->decode('UTF-8'); $stream->hmac_md5_sum('secret'); $stream->html_escape; $stream->html_unescape; $stream->md5_sum; $stream->qp_encode; $stream->qp_decode; $stream->quote; $stream->unquote; $stream->url_escape; $stream->url_sanitize; $stream->url_unescape; $stream->xml_escape; $stream->punycode_encode; $stream->punycode_decode; my $size = $stream->size; my $stream2 = $stream->clone; print $stream2->to_string; # Chained my $stream = Mojo::ByteStream->new('foo bar baz')->quote; $stream = $stream->unquote->encode('UTF-8)->b64_encode; print "$stream"; # Constructor alias use Mojo::ByteStream 'b'; my $stream = b('foobarbaz')->html_escape; # Buffering my $stream = Mojo::ByteStream->new; $stream->add_chunk('bar'); my $foo = $stream->remove(3); my $bar = $stream->empty;
Mojo::ByteStream provides portable text and bytestream manipulation functions.
Mojo::ByteStream implements the following attributes.
raw_size
my $size = $stream->raw_size; $stream = $stream->raw_size(23);
Raw bytestream size in bytes.
Mojo::ByteStream inherits all methods from Mojo::Base and implements the following new ones.
new
my $stream = Mojo::ByteStream->new($string);
Construct a new Mojo::ByteStream object.
add_chunk
$stream = $stream->add_chunk('foo');
Add chunk of data to bytestream.
b64_decode
$stream = $stream->b64_decode;
Base 64 decode bytestream.
b64_encode
$stream = $stream->b64_encode;
Base 64 encode bytestream.
camelize
$stream = $stream->camelize;
Camelize bytestream.
foo_bar -> FooBar
clone
my $stream2 = $stream->clone;
Clone bytestream.
contains
my $position = $stream->contains('something');
Check if bytestream contains a specific string.
decamelize
$stream = $stream->decamelize;
Decamelize bytestream.
FooBar -> foo_bar
decode
$stream = $stream->decode($encoding);
Decode bytestream.
$stream->decode('UTF-8')->to_string;
empty
my $chunk = $stream->empty;
Empty bytestream.
encode
$stream = $stream->encode($encoding);
Encode bytestream.
$stream->encode('UTF-8')->to_string;
get_line
my $line = $stream->get_line;
Extract a whole line from start of bytestream. Lines are expected to end with 0x0d 0x0a or 0x0a.
0x0d 0x0a
0x0a
hmac_md5_sum
$stream = $stream->hmac_md5_sum($secret);
Turn bytestream into HMAC-MD5 checksum of old content.
html_escape
$stream = $stream->html_escape;
HTML escape bytestream.
html_unescape
$stream = $stream->html_unescape;
HTML unescape bytestream.
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.
remove
my $chunk = $stream->remove(4); my $chunk = $stream->remove(4, 'abcd');
Remove a specific number of bytes from bytestream.
size
my $size = $stream->size;
Size of bytestream.
to_string
my $string = $stream->to_string;
Stringify 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_sanitize
$stream = $stream->url_sanitize;
URL sanitize 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 '.
&
<
>
"
'
Mojolicious, Mojolicious::Guides, http://mojolicious.org.
To install Mojolicious, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mojolicious
CPAN shell
perl -MCPAN -e shell install Mojolicious
For more information on module installation, please visit the detailed CPAN module installation guide.