1# GDBM_File.pm -- Perl 5 interface to GNU gdbm library. 2 3=head1 NAME 4 5GDBM_File - Perl5 access to the gdbm library. 6 7=head1 SYNOPSIS 8 9 use GDBM_File ; 10 tie %hash, 'GDBM_File', $filename, &GDBM_WRCREAT, 0640; 11 # Use the %hash array. 12 untie %hash ; 13 14=head1 DESCRIPTION 15 16B<GDBM_File> is a module which allows Perl programs to make use of the 17facilities provided by the GNU gdbm library. If you intend to use this 18module you should really have a copy of the gdbm manualpage at hand. 19 20Most of the libgdbm.a functions are available through the GDBM_File 21interface. 22 23=head1 AVAILABILITY 24 25gdbm is available from any GNU archive. The master site is 26C<ftp.gnu.org>, but you are strongly urged to use one of the many 27mirrors. You can obtain a list of mirror sites from 28http://www.gnu.org/order/ftp.html. 29 30=head1 BUGS 31 32The available functions and the gdbm/perl interface need to be documented. 33 34The GDBM error number and error message interface needs to be added. 35 36=head1 SEE ALSO 37 38L<perl(1)>, L<DB_File(3)>, L<perldbmfilter>. 39 40=cut 41 42package GDBM_File; 43 44use strict; 45use warnings; 46our($VERSION, @ISA, @EXPORT, $AUTOLOAD); 47 48require Carp; 49require Tie::Hash; 50require Exporter; 51use XSLoader (); 52@ISA = qw(Tie::Hash Exporter); 53@EXPORT = qw( 54 GDBM_CACHESIZE 55 GDBM_CENTFREE 56 GDBM_COALESCEBLKS 57 GDBM_FAST 58 GDBM_FASTMODE 59 GDBM_INSERT 60 GDBM_NEWDB 61 GDBM_NOLOCK 62 GDBM_OPENMASK 63 GDBM_READER 64 GDBM_REPLACE 65 GDBM_SYNC 66 GDBM_SYNCMODE 67 GDBM_WRCREAT 68 GDBM_WRITER 69); 70 71# This module isn't dual life, so no need for dev version numbers. 72$VERSION = '1.10'; 73 74sub AUTOLOAD { 75 my($constname); 76 ($constname = $AUTOLOAD) =~ s/.*:://; 77 my ($error, $val) = constant($constname); 78 Carp::croak $error if $error; 79 no strict 'refs'; 80 *{$AUTOLOAD} = sub { $val }; 81 goto &{$AUTOLOAD}; 82} 83 84XSLoader::load 'GDBM_File', $VERSION; 85 861; 87