xref: /openbsd-src/gnu/usr.bin/perl/cpan/Memoize/Memoize/AnyDBM_File.pm (revision e068048151d29f2562a32185e21a8ba885482260)
1use strict; use warnings;
2
3package Memoize::AnyDBM_File;
4our $VERSION = '1.16';
5
6our @ISA = qw(DB_File GDBM_File Memoize::NDBM_File SDBM_File ODBM_File) unless @ISA;
7
8for my $mod (@ISA) {
9  if (eval "require $mod") {
10    $mod = 'NDBM_File'
11		if $mod eq 'Memoize::NDBM_File'
12		and eval { NDBM_File->VERSION( '1.16' ) };
13    print STDERR "AnyDBM_File => Selected $mod.\n" if our $Verbose;
14    @ISA = $mod;
15    return 1;
16  }
17}
18
19die "No DBM package was successfully found or installed";
20
21__END__
22
23=pod
24
25=head1 NAME
26
27Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for Storable use
28
29=head1 DESCRIPTION
30
31This class does the same thing as L<AnyDBM_File>, except that instead of
32L<NDBM_File> itself it loads L<Memoize::NDBM_File> if L<NDBM_File> lacks
33L<EXISTS|perltie/C<EXISTS>> support.
34
35Code which requires perl 5.37.3 or newer should simply use L<AnyBDM_File> directly.
36
37=cut
38