HTTP::Promise::Stream::UU - Stream Encoder for UU Encoding
use HTTP::Promise::Stream::UU; my $s = HTTP::Promise::Stream::UU->new || die( HTTP::Promise::Stream::UU->error, "\n" ); $s->encode( $input => $output, eol => "\n" ) || die( $s->error ); $s->decode( $input => $output ) || die( $s->error ); HTTP::Promise::Stream::UU::encode_uu( $input => $output, eol => "\n" ) || die( $HTTP::Promise::Stream::UU::UUError ); HTTP::Promise::Stream::UU::decode_uu( $input => $output, eol => "\n" ) || die( $HTTP::Promise::Stream::UU::UUError );
v0.1.0
This implements an encoding and decoding mechanism for UU encoding using either of the following on input and output:
filepath
If the parameter is neither a scalar reference nor a file handle, it will be assumed to be a file path.
file handle
This can be a native file handle, or an object oriented one as long as it implements the print or write, and read methods. The read method is expected to return the number of bytes read or undef upon error. The print and write methods are expected to simply return true upon success and undef upon error.
print
write
read
undef
Alternatively, those methods can die and those exceptions wil be caught.
scalar reference
This can be a simple scalar reference, or an object scalar reference.
Creates a new HTTP::Promise::Stream::UU object and returns it.
This takes 2 arguments: an input and an output. Each one can be either a file path, a file handle, or a scalar reference.
It will decode the UU encoded data and write the result into the output.
It returns true upon success and sets an error and return undef upon error.
It will encode the data into UU encoded data and write the result into the output.
Possible options are:
The file name (not the file path) to be used for UU encoding.
The file octal permisions, like 0644. It defaults to 0644 if nothing is provided.
0644
The following class functions are available and can also be exported, such as:
use HTTP::Promise::Stream::Brotli qw( decode_uu encode_uu );
This takes the same 2 arguments used in "decode": an input and an output. Each one can be either a file path, a file handle, or a scalar reference.
It returns true upon success, and upon error, it will set the error in the global variable $UUError and return undef
$UUError
my $decoded = HTTP::Promise::Stream::UU::decode_uu( $encoded ); die( "Something went wrong: $HTTP::Promise::Stream::UU::UUError\n" if( !defined( $decoded ) ); print( "Decoded data is: $decoded\n" );
This takes the same 2 arguments used in "encode": an input and an output. Each one can be either a file path, a file handle, or a scalar reference.
my $encoded = HTTP::Promise::Stream::UU::encode_uu( $data ); die( "Something went wrong: $HTTP::Promise::Stream::UU::UUError\n" if( !defined( $encoded ) ); print( "Encoded data is: $encoded\n" );
Jacques Deguest <jack@deguest.jp>
Wikipedia page
HTTP::Promise, HTTP::Promise::Request, HTTP::Promise::Response, HTTP::Promise::Message, HTTP::Promise::Entity, HTTP::Promise::Headers, HTTP::Promise::Body, HTTP::Promise::Body::Form, HTTP::Promise::Body::Form::Data, HTTP::Promise::Body::Form::Field, HTTP::Promise::Status, HTTP::Promise::MIME, HTTP::Promise::Parser, HTTP::Promise::IO, HTTP::Promise::Stream, HTTP::Promise::Exception
Copyright(c) 2022 DEGUEST Pte. Ltd.
All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install HTTP::Promise, copy and paste the appropriate command in to your terminal.
cpanm
cpanm HTTP::Promise
CPAN shell
perl -MCPAN -e shell install HTTP::Promise
For more information on module installation, please visit the detailed CPAN module installation guide.