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 34=head1 SEE ALSO 35 36L<perl(1)>, L<DB_File(3)>, L<perldbmfilter>. 37 38=cut 39 40package GDBM_File; 41 42use strict; 43use warnings; 44our($VERSION, @ISA, @EXPORT, $AUTOLOAD); 45 46require Carp; 47require Tie::Hash; 48require Exporter; 49use XSLoader (); 50@ISA = qw(Tie::Hash Exporter); 51@EXPORT = qw( 52 GDBM_CACHESIZE 53 GDBM_FAST 54 GDBM_INSERT 55 GDBM_NEWDB 56 GDBM_NOLOCK 57 GDBM_READER 58 GDBM_REPLACE 59 GDBM_WRCREAT 60 GDBM_WRITER 61); 62 63$VERSION = "1.06"; 64 65sub AUTOLOAD { 66 my($constname); 67 ($constname = $AUTOLOAD) =~ s/.*:://; 68 my ($error, $val) = constant($constname); 69 Carp::croak $error if $error; 70 no strict 'refs'; 71 *{$AUTOLOAD} = sub { $val }; 72 goto &{$AUTOLOAD}; 73} 74 75XSLoader::load 'GDBM_File', $VERSION; 76 771; 78