Sample code for 30+ languages & platforms
Perl

Decompress Gzip Data In-Place Using BinData

See more Gzip Examples

This example demonstrates how to use the UncompressBd method to decompress Gzip data stored in a BinData object.

The compressed .gz file is first loaded into memory. The UncompressBd method then decompresses the data in-place, meaning the original compressed bytes in the BinData object are replaced with the uncompressed data.

After decompression, the example writes the resulting data to a file. This approach is useful when working entirely in memory before saving or further processing the uncompressed data.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

# This example demonstrates how to decompress Gzip data stored in a BinData object.
# The decompression is done in-place, replacing the compressed data with the original data.

my $gzip = Chilkat2::Gzip->new;
my $bd = Chilkat2::BinData->new;

# Load a .gz file into BinData:
my $success = $bd->LoadFile('example.txt.gz');
if (!$success) {
    print $bd->LastErrorText, "\n";
    exit;
}

print 'Compressed size (bytes): ', $bd->NumBytes, "\n";

# Uncompress the data in-place:
$success = $gzip->UncompressBd($bd);
if (!$success) {
    print $gzip->LastErrorText, "\n";
    exit;
}

print 'Decompressed size (bytes): ', $bd->NumBytes, "\n";

# Save the uncompressed data to a file:
$success = $bd->WriteFile('example.txt');
if (!$success) {
    print $bd->LastErrorText, "\n";
    exit;
}

print "File successfully uncompressed to example.txt\n";