summaryrefslogtreecommitdiff
path: root/systems/texlive/tlnet/tlpkg/tlperl/lib/Memoize/AnyDBM_File.pm
diff options
context:
space:
mode:
Diffstat (limited to 'systems/texlive/tlnet/tlpkg/tlperl/lib/Memoize/AnyDBM_File.pm')
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/Memoize/AnyDBM_File.pm48
1 files changed, 27 insertions, 21 deletions
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/Memoize/AnyDBM_File.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/Memoize/AnyDBM_File.pm
index cf5f7f5bc2..c0aa5e6d36 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/Memoize/AnyDBM_File.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/Memoize/AnyDBM_File.pm
@@ -1,31 +1,37 @@
+use strict; use warnings;
+
package Memoize::AnyDBM_File;
+our $VERSION = '1.16';
-=head1 NAME
+our @ISA = qw(DB_File GDBM_File Memoize::NDBM_File SDBM_File ODBM_File) unless @ISA;
-Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for Storable use
+for my $mod (@ISA) {
+ if (eval "require $mod") {
+ $mod = 'NDBM_File'
+ if $mod eq 'Memoize::NDBM_File'
+ and eval { NDBM_File->VERSION( '1.16' ) };
+ print STDERR "AnyDBM_File => Selected $mod.\n" if our $Verbose;
+ @ISA = $mod;
+ return 1;
+ }
+}
-=head1 DESCRIPTION
+die "No DBM package was successfully found or installed";
-See L<Memoize>.
+__END__
-=cut
+=pod
-use vars qw(@ISA $VERSION);
-$VERSION = '1.03';
-@ISA = qw(DB_File GDBM_File Memoize::NDBM_File Memoize::SDBM_File ODBM_File) unless @ISA;
+=head1 NAME
-my $verbose = 1;
+Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for Storable use
-my $mod;
-for $mod (@ISA) {
-# (my $truemod = $mod) =~ s/^Memoize:://;
-# my $file = "$mod.pm";
-# $file =~ s{::}{/}g;
- if (eval "require $mod") {
- print STDERR "AnyDBM_File => Selected $mod.\n" if $Verbose;
- @ISA = ($mod); # if we leave @ISA alone, warnings abound
- return 1;
- }
-}
+=head1 DESCRIPTION
-die "No DBM package was successfully found or installed";
+This class does the same thing as L<AnyDBM_File>, except that instead of
+L<NDBM_File> itself it loads L<Memoize::NDBM_File> if L<NDBM_File> lacks
+L<EXISTS|perltie/C<EXISTS>> support.
+
+Code which requires perl 5.37.3 or newer should simply use L<AnyBDM_File> directly.
+
+=cut