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