man > Compress::Raw::Bzip2

📛 NAME

Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression library

🚀 Quick Reference

Use CaseCommandDescription
🔧 Create compression objectnew Compress::Raw::Bzip2 [OPTS]Returns compression object and status
đŸ—œī¸ Compress data$bz->bzdeflate($input, $output)Compress input to output
💨 Flush compressed data$bz->bzflush($output)Flush pending compressed data
🔚 Close compression stream$bz->bzclose($output)Terminate and flush all data
đŸ”Ŋ Create decompression objectnew Compress::Raw::Bunzip2 [OPTS]Returns decompression object and status
📂 Decompress data$bz->bzinflate($input, $output)Uncompress input to output
📋 Get library versionCompress::Raw::Bzip2::bzlibversion()Returns bzip2 library version string

📋 SYNOPSIS

use Compress::Raw::Bzip2;

my ($bz, $status) = new Compress::Raw::Bzip2 [OPTS]
    or die "Cannot create bzip2 object: $bzerno\n";

$status = $bz->bzdeflate($input, $output);
$status = $bz->bzflush($output);
$status = $bz->bzclose($output);

my ($bz, $status) = new Compress::Raw::Bunzip2 [OPTS]
    or die "Cannot create bunzip2 object: $bzerno\n";

$status = $bz->bzinflate($input, $output);

my $version = Compress::Raw::Bzip2::bzlibversion();

📖 DESCRIPTION

Provides an interface to the in-memory compression/uncompression functions from the bzip2 compression library.

Although the primary purpose for the existence of Compress::Raw::Bzip2 is for use by the IO::Compress::Bzip2 and IO::Compress::Bunzip2 modules, it can be used on its own for simple compression/uncompression tasks.

đŸ—œī¸ Compression

($z, $status) = new Compress::Raw::Bzip2 $appendOutput, $blockSize100k, $workfactor;

Creates a new compression object.

If successful, returns the initialised compression object $z and a $status of BZ_OK in a list context. In scalar context it returns the deflation object $z only.

If not successful, the returned compression object $z will be undef and $status will hold a bzip2 error code.

Below is a list of the valid options:

$status = $bz->bzdeflate($input, $output);

Reads the contents of $input, compresses it and writes the compressed data to $output.

Returns BZ_RUN_OK on success and a bzip2 error code on failure.

If appendOutput is enabled in the constructor, the compressed data will be appended to $output. If not enabled, $output will be truncated before the compressed data is written to it.

$status = $bz->bzflush($output);

Flushes any pending compressed data to $output.

Returns BZ_RUN_OK on success and a bzip2 error code on failure.

$status = $bz->bzclose($output);

Terminates the compressed data stream and flushes any pending compressed data to $output.

Returns BZ_STREAM_END on success and a bzip2 error code on failure.

📝 Example

No example provided in the original documentation.

đŸ”Ŋ Uncompression

($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small, $verbosity, $limitOutput;

Creates a new uncompression object.

If successful, returns the initialised uncompression object $z and a $status of BZ_OK in a list context. In scalar context it returns the deflation object $z only.

If not successful, the returned uncompression object $z will be undef and $status will hold a bzip2 error code.

Below is a list of the valid options:

$status = $z->bzinflate($input, $output);

Uncompresses $input and writes the uncompressed data to $output.

Returns BZ_OK if the uncompression was successful, but the end of the compressed data stream has not been reached. Returns BZ_STREAM_END on successful uncompression and the end of the compression stream has been reached.

If consumeInput is enabled in the constructor, $input will have all compressed data removed from it after uncompression. On BZ_OK return, $input will be an empty string; when BZ_STREAM_END, $input will either be empty or contain data immediately following the compressed stream.

If appendOutput is enabled, the uncompressed data will be appended to $output. If not enabled, $output will be truncated before the uncompressed data is written.

🔧 Misc

my $version = Compress::Raw::Bzip2::bzlibversion();

Returns the version of the underlying bzip2 library.

📊 Constants

The following bzip2 constants are exported by this module:

BZ_RUN
BZ_FLUSH
BZ_FINISH
BZ_OK
BZ_RUN_OK
BZ_FLUSH_OK
BZ_FINISH_OK
BZ_STREAM_END
BZ_SEQUENCE_ERROR
BZ_PARAM_ERROR
BZ_MEM_ERROR
BZ_DATA_ERROR
BZ_DATA_ERROR_MAGIC
BZ_IO_ERROR
BZ_UNEXPECTED_EOF
BZ_OUTBUFF_FULL
BZ_CONFIG_ERROR

đŸ“Ŧ SUPPORT

General feedback/questions/bug reports should be sent to GitHub Issues (preferred) or RT CPAN.

đŸ‘ī¸ SEE ALSO

Compress::Zlib, IO::Compress::Gzip, IO::Uncompress::Gunzip, IO::Compress::Deflate, IO::Uncompress::Inflate, IO::Compress::RawDeflate, IO::Uncompress::RawInflate, IO::Compress::Bzip2, IO::Uncompress::Bunzip2, IO::Compress::Lzma, IO::Uncompress::UnLzma, IO::Compress::Xz, IO::Uncompress::UnXz, IO::Compress::Lzip, IO::Uncompress::UnLzip, IO::Compress::Lzop, IO::Uncompress::UnLzop, IO::Compress::Lzf, IO::Uncompress::UnLzf, IO::Compress::Zstd, IO::Uncompress::UnZstd, IO::Uncompress::AnyInflate, IO::Uncompress::AnyUncompress

IO::Compress::FAQ

File::GlobMapper, Archive::Zip, Archive::Tar, IO::Zlib

The primary site for the bzip2 program is https://sourceware.org/bzip2/.

See the module Compress::Bzip2.

âœī¸ AUTHOR

This module was written by Paul Marquess, pmqs AT cpan.org.

📜 MODIFICATION HISTORY

See the Changes file.

ÂŠī¸ COPYRIGHT AND LICENSE

Copyright (c) 2005-2021 Paul Marquess. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Compress::Raw::Bzip2
📛 NAME 🚀 Quick Reference 📋 SYNOPSIS 📖 DESCRIPTION đŸ—œī¸ Compression
($z, $status) = new Compress::Raw::Bzip2 $appendOutput, $blockSize100k, $workfactor; $status = $bz->bzdeflate($input, $output); $status = $bz->bzflush($output); $status = $bz->bzclose($output); 📝 Example
đŸ”Ŋ Uncompression
($z, $status) = new Compress::Raw::Bunzip2 $appendOutput, $consumeInput, $small, $verbosity, $limitOutput; $status = $z->bzinflate($input, $output);
🔧 Misc
my $version = Compress::Raw::Bzip2::bzlibversion();
📊 Constants đŸ“Ŧ SUPPORT đŸ‘ī¸ SEE ALSO âœī¸ AUTHOR 📜 MODIFICATION HISTORY ÂŠī¸ COPYRIGHT AND LICENSE

Generated by phpman v4.9.26-5-g7740029 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-21 16:12 @216.73.217.134
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^