Crypt::OpenPGP::Compressed - Compressed data packets
use Crypt::OpenPGP::Compressed;
my $data = 'serialized openpgp packets';
my $cdata = Crypt::OpenPGP::Compressed->new( Data => $data );
my $serialized = $cdata->save;
Crypt::OpenPGP::Compressed implements compressed data packets, providing
both compression and decompression functionality, for all supported
compression algorithms ("Zlib" and
"ZIP"). This class uses
Compress::Zlib for all compression/decompression needs for both
algorithms: "ZIP" is simply
"Zlib" with a different setting for the
WindowBits parameter.
Decompressing a compressed data packet should always yield a
stream of valid PGP packets (which you can then parse using
Crypt::OpenPGP::PacketFactory). Similarly, when compressing a packet
the input data should be a stream of packets.
Creates a new compressed data packet object and returns that object. If there
are no arguments in %arg, the object is created with an
empty compressed data container; this is used, for example, in parse
(below), to create an empty packet which is then filled with the data in the
buffer.
If you wish to initialize a non-empty object,
%arg can contain:
- Data
A block of octets that make up the data that you wish to
compress. As mentioned above, the data to compress should always be a
stream of valid PGP packets (saved using
Crypt::OpenPGP::PacketFactory::save).
This argument is required (for a non-empty object).
- Alg
The name (or ID) of a supported PGP compression algorithm.
Valid names are "Zlib" and
"ZIP".
This argument is optional; by default
Crypt::OpenPGP::Compressed will use
"ZIP".
Returns the serialized compressed data packet, which consists of a one-octet
compression algorithm ID, followed by the compressed data.
Given $buffer, a Crypt::OpenPGP::Buffer object
holding (or with offset pointing to) a compressed data packet, returns a new
Crypt::OpenPGP::Compressed object, initialized with the data from the
buffer.
Decompresses the compressed data in the Crypt::OpenPGP::Compressed object
$cdata and returns the decompressed data.
Please see the Crypt::OpenPGP manpage for author, copyright, and license
information.