Commit | Line | Data |
0e9b1cbd |
1 | package DBM_Filter::null ; |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
6 | our $VERSION = '0.01'; |
7 | |
8 | sub Store |
9 | { |
10 | no warnings 'uninitialized'; |
11 | $_ .= "\x00" ; |
12 | } |
13 | |
14 | sub Fetch |
15 | { |
16 | no warnings 'uninitialized'; |
17 | s/\x00$// ; |
18 | } |
19 | |
20 | 1; |
21 | |
22 | __END__ |
23 | |
24 | =head1 DBM_Filter::null |
25 | |
26 | =head1 SYNOPSIS |
27 | |
28 | use SDBM_File; # or DB_File, or GDBM_File, or NDBM_File, or ODBM_File |
29 | use DBM_Filter ; |
30 | |
31 | $db = tie %hash, ... |
32 | $db->Filter_Push('null'); |
33 | |
34 | =head1 DESCRIPTION |
35 | |
36 | This filter ensures that all data written to the DBM file is null |
37 | terminated. This is useful when you have a perl script that needs |
38 | to interoperate with a DBM file that a C program also uses. A fairly |
39 | common issue is for the C application to include the terminating null |
40 | in a string when it writes to the DBM file. This filter will ensure that |
41 | all data written to the DBM file can be read by the C application. |
42 | |
43 | |
44 | =head1 SEE ALSO |
45 | |
46 | L<DBM_Filter>, L<perldbmfilter> |
47 | |
48 | =head1 AUTHOR |
49 | |
50 | Paul Marquess pmqs@cpan.org |