challenge データの圧縮と展開

データを圧縮するcompress、展開するdecompressという関数やメソッドなどを書いてください。データはバイト列でもストリームでもそれ以外の形式でもOKです。

圧縮形式は問いませんが、できるだけ一般的なフォーマット(zip,lzhなど)でお願いします。

また、標準以外のライブラリを使う場合には出典の記載をお願いします。

「○○でも実用的な圧縮/展開プログラムがかけるんだぞ!」というのを、ぜひ示してください。

Posted feedbacks - Perl

IO::Compress::* と IO::Uncompress::* を使えばいいですね。
IO::Stringは標準モジュールじゃないのですけど。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
use strict;
use warnings;

use IO::Compress::Zip qw/zip/;
use IO::Uncompress::Unzip qw/unzip/;
use IO::String;

sub compress {
  zip(IO::String->new(shift) => my $obuf = IO::String->new);
  ${$obuf->string_ref};
}

sub uncompress {
  unzip(IO::String->new(shift) => my $obuf = IO::String->new);
  ${$obuf->string_ref};
}

print uncompress(compress("This is what to be compressed")), "\n";

Index

Feed

Other

Link

Pathtraq

loading...