Make the NAME section a legal paragraph.
[p5sagit/p5-mst-13.2.git] / ext / GDBM_File / GDBM_File.pm
CommitLineData
4633a7c4 1# GDBM_File.pm -- Perl 5 interface to GNU gdbm library.
bd81798f 2
4633a7c4 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<prep.ai.mit.edu>, but your are strongly urged to use one of the many
27mirrors. You can obtain a list of mirror sites by issuing the
28command C<finger fsf@prep.ai.mit.edu>.
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)>.
37
38=cut
39
a0d0e21e 40package GDBM_File;
41
42require Carp;
43require TieHash;
44require Exporter;
3b35bae3 45use AutoLoader;
a0d0e21e 46require DynaLoader;
fec02dd3 47@ISA = qw(TieHash Exporter DynaLoader);
a0d0e21e 48@EXPORT = qw(
49 GDBM_CACHESIZE
50 GDBM_FAST
51 GDBM_INSERT
52 GDBM_NEWDB
53 GDBM_READER
54 GDBM_REPLACE
55 GDBM_WRCREAT
56 GDBM_WRITER
57);
58
59sub AUTOLOAD {
a0d0e21e 60 local($constname);
61 ($constname = $AUTOLOAD) =~ s/.*:://;
62 $val = constant($constname, @_ ? $_[0] : 0);
63 if ($! != 0) {
64 if ($! =~ /Invalid/) {
65 $AutoLoader::AUTOLOAD = $AUTOLOAD;
66 goto &AutoLoader::AUTOLOAD;
67 }
68 else {
69 Carp::croak("Your vendor has not defined GDBM_File macro $constname, used");
70 }
71 }
72 eval "sub $AUTOLOAD { $val }";
73 goto &$AUTOLOAD;
74}
75
76bootstrap GDBM_File;
77
78# Preloaded methods go here. Autoload methods go after __END__, and are
79# processed by the autosplit program.
80
811;
82__END__