<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">use strict; use warnings;

package Memoize::AnyDBM_File;
our $VERSION = '1.16';

our @ISA = qw(DB_File GDBM_File Memoize::NDBM_File SDBM_File ODBM_File) unless @ISA;

for my $mod (@ISA) {
  if (eval "require $mod") {
    $mod = 'NDBM_File'
		if $mod eq 'Memoize::NDBM_File'
		and eval { NDBM_File-&gt;VERSION( '1.16' ) };
    print STDERR "AnyDBM_File =&gt; Selected $mod.\n" if our $Verbose;
    @ISA = $mod;
    return 1;
  }
}

die "No DBM package was successfully found or installed";

__END__

=pod

=head1 NAME

Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for Storable use

=head1 DESCRIPTION

This class does the same thing as L&lt;AnyDBM_File&gt;, except that instead of
L&lt;NDBM_File&gt; itself it loads L&lt;Memoize::NDBM_File&gt; if L&lt;NDBM_File&gt; lacks
L&lt;EXISTS|perltie/C&lt;EXISTS&gt;&gt; support.

Code which requires perl 5.37.3 or newer should simply use L&lt;AnyBDM_File&gt; directly.

=cut
</pre></body></html>