home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 December (Special) / PCWorld_2005-12_Special_cd.bin / Bezpecnost / lsti / lsti.exe / framework-2.5.exe / GDBM_File.pm < prev    next >
Text File  |  2005-01-27  |  2KB  |  86 lines

  1. # GDBM_File.pm -- Perl 5 interface to GNU gdbm library.
  2.  
  3. =head1 NAME
  4.  
  5. GDBM_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.  
  16. B<GDBM_File> is a module which allows Perl programs to make use of the
  17. facilities provided by the GNU gdbm library.  If you intend to use this
  18. module you should really have a copy of the gdbm manualpage at hand.
  19.  
  20. Most of the libgdbm.a functions are available through the GDBM_File
  21. interface.
  22.  
  23. =head1 AVAILABILITY
  24.  
  25. gdbm is available from any GNU archive.  The master site is
  26. C<ftp.gnu.org>, but you are strongly urged to use one of the many
  27. mirrors.  You can obtain a list of mirror sites from
  28. http://www.gnu.org/order/ftp.html.
  29.  
  30. =head1 BUGS
  31.  
  32. The available functions and the gdbm/perl interface need to be documented.
  33.  
  34. The GDBM error number and error message interface needs to be added.
  35.  
  36. =head1 SEE ALSO
  37.  
  38. L<perl(1)>, L<DB_File(3)>, L<perldbmfilter>. 
  39.  
  40. =cut
  41.  
  42. package GDBM_File;
  43.  
  44. use strict;
  45. use warnings;
  46. our($VERSION, @ISA, @EXPORT, $AUTOLOAD);
  47.  
  48. require Carp;
  49. require Tie::Hash;
  50. require Exporter;
  51. use 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. $VERSION = "1.07";
  72.  
  73. sub AUTOLOAD {
  74.     my($constname);
  75.     ($constname = $AUTOLOAD) =~ s/.*:://;
  76.     my ($error, $val) = constant($constname);
  77.     Carp::croak $error if $error;
  78.     no strict 'refs';
  79.     *{$AUTOLOAD} = sub { $val };
  80.     goto &{$AUTOLOAD};
  81. }
  82.  
  83. XSLoader::load 'GDBM_File', $VERSION;
  84.  
  85. 1;
  86.