Mojo::ByteStream(3p)  User Contributed Perl Documentation Mojo::ByteStream(3p)



NAME
       Mojo::ByteStream - ByteStream

SYNOPSIS
         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->hmac_sha1_sum('secret');
         $stream->html_escape;
         $stream->html_unescape;
         $stream->md5_bytes;
         $stream->md5_sum;
         $stream->qp_encode;
         $stream->qp_decode;
         $stream->quote;
         $stream->sha1_bytes;
         $stream->sha1_sum;
         $stream->trim;
         $stream->unquote;
         $stream->url_escape;
         $stream->url_unescape;
         $stream->xml_escape;
         $stream->punycode_encode;
         $stream->punycode_decode;

         my $size = $stream->size;

         my $stream2 = $stream->clone;
         print $stream2->to_string;
         $stream2->say;

         # Chained
         my $stream = Mojo::ByteStream->new('foo bar baz')->quote;
         $stream = $stream->unquote->encode('UTF-8)->b64_encode;
         print "$stream";

         # Alternative constructor
         use Mojo::ByteStream 'b';
         my $stream = b('foobarbaz')->html_escape;

DESCRIPTION
       Mojo::ByteStream provides a more friendly API for the bytestream
       manipulation functions in Mojo::Util.

METHODS
       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.

   "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;

       Camelize bytestream.

         foo_bar -> FooBar

   "clone"
         my $stream2 = $stream->clone;

       Clone bytestream.

   "decamelize"
         $stream = $stream->decamelize;

       Decamelize bytestream.

         FooBar -> foo_bar

   "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.

   "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.

   "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.12.2                      2011-02-17              Mojo::ByteStream(3p)
