IO-Compress-Zstd
view release on metacpan or search on metacpan
t/200regression.t view on Meta::CPAN
while (<$IN>)
{
$length += length($_);
$md5->add($_);
$uncompressed .= $_ ;
}
is $length, 17204641, "Length matches";
is $md5->hexdigest, '3f5b564eea6aa4bb39ebecad0b98d70b', 'MD5 checksums match';
my $text = "$tmpDir/text";
writeFile($text, $uncompressed);
# use IO::Compress::Zstd to an in-memory buffer
use IO::Compress::Zstd qw(zstd $ZstdError);
use IO::Uncompress::UnZstd qw(unzstd $UnZstdError);
my $compressed;
ok zstd \$uncompressed => \$compressed;
my $new_uncompressed;
unzstd \$compressed => \$new_uncompressed;
ok $new_uncompressed eq $uncompressed;
my $here;
my $OUT = new IO::Compress::Zstd \$here ;
for (split /\n/, $new_uncompressed)
{
print $OUT "$_\n";
}
close $OUT ;
ok length($here);
ok unzstd \$here => \$new_uncompressed, transparent => 0
or diag "unstd failed";
ok $new_uncompressed eq $uncompressed;
# output to a file
my $outFileZstd = "$tmpDir/file1";
$OUT = new IO::Compress::Zstd $outFileZstd ;
for (split /\n/, $new_uncompressed)
{
print $OUT "$_\n";
}
close $OUT ;
ok unzstd $outFileZstd => \$new_uncompressed, transparent => 0
or diag "unstd failed";
ok $new_uncompressed eq $uncompressed;
{
# Read from <>
local @ARGV = $text ;
my $outB ;
my $FH = new IO::Compress::Zstd \$outB
or die "$ZstdError";
# select $FH;
while (<>)
{
print $FH $_;
}
close $FH ;
$new_uncompressed = '';
ok unzstd \$outB => \$new_uncompressed, transparent => 0
or diag "unstd failed";
ok $new_uncompressed eq $uncompressed;
}
}
( run in 0.815 second using v1.01-cache-2.11-cpan-e1769b4cff6 )