Commit | Line | Data |
a0cb3900 |
1 | package Memoize::AnyDBM_File; |
2 | |
9038e305 |
3 | =head1 NAME |
4 | |
5 | Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for Storable use |
6 | |
7 | =head1 DESCRIPTION |
8 | |
9 | See L<Memoize>. |
10 | |
11 | =cut |
12 | |
a0cb3900 |
13 | use vars qw(@ISA); |
14 | @ISA = qw(DB_File GDBM_File Memoize::NDBM_File Memoize::SDBM_File ODBM_File) unless @ISA; |
15 | |
16 | my $verbose = 1; |
17 | |
18 | my $mod; |
19 | for $mod (@ISA) { |
20 | # (my $truemod = $mod) =~ s/^Memoize:://; |
21 | if (eval "require $mod") { |
22 | print STDERR "AnyDBM_File => Selected $mod.\n" if $Verbose; |
23 | @ISA = ($mod); # if we leave @ISA alone, warnings abound |
24 | return 1; |
25 | } |
26 | } |
27 | |
28 | die "No DBM package was successfully found or installed"; |