1package DBM_Filter::compress ;
2
3use strict;
4use warnings;
5use Carp;
6
7our $VERSION = '0.03';
8
9BEGIN
10{
11    eval { require Compress::Zlib; Compress::Zlib->import() };
12
13    croak "Compress::Zlib module not found.\n"
14        if $@;
15}
16
17
18
19sub Store { $_ = compress($_) }
20sub Fetch { $_ = uncompress($_) }
21
221;
23
24__END__
25
26=head1 NAME
27
28DBM_Filter::compress - filter for DBM_Filter
29
30=head1 SYNOPSIS
31
32    use SDBM_File; # or DB_File, GDBM_File, NDBM_File, ODBM_File
33    use DBM_Filter ;
34
35    $db = tie %hash, ...
36    $db->Filter_Push('compress');
37
38=head1 DESCRIPTION
39
40This DBM filter will compress all data before it is written to the database
41and uncompressed it on reading.
42
43A fatal error will be thrown if the Compress::Zlib module is not
44available.
45
46=head1 SEE ALSO
47
48L<DBM_Filter>, L<perldbmfilter>, L<Compress::Zlib>
49
50=head1 AUTHOR
51
52Paul Marquess pmqs@cpan.org
53
54