Subject: [bug#67963] [PATCH v2 05/37] gnu: Add perl-mldbm.

From: Felix Lechner <[email-masked]>
Date: Tue, 16 Jan 2024 14:12:43 -0800

* gnu/packages/perl.scm (perl-mldbm): New variable.

Change-Id: Ifa45d6123b953fff7b882d6a1508bf05985cc4d1
---
 gnu/packages/perl.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index c59f53139b..f5698ef824 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -6880,6 +6880,32 @@ (define-public perl-mixin-linewise
 file names are added for you.")
     (license (package-license perl))))
 
+(define-public perl-mldbm
+  (package
+    (name "perl-mldbm")
+    (version "2.05")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/MLDBM-" version
+                           ".tar.gz"))
+       (sha256
+        (base32 "18hp5bq5jl6v1prc9sz6xkpys0q27vhlfivkysxim0101knq0s2q"))))
+    (build-system perl-build-system)
+    (native-inputs (list perl-module-build))
+    (home-page "https://metacpan.org/release/MLDBM")
+    (synopsis "Store multi-level Perl hash structure in single-level tied hash")
+    (description "This module can serve as a transparent interface to any TIEHASH
+package that is required to store arbitrary perl data, including nested
+references.  Thus, this module can be used for storing references and other
+arbitrary data within DBM databases.
+
+It works by serializing the references in the hash into a single string.  In the
+underlying TIEHASH package (usually a DBM database), it is this string that gets
+stored.  When the value is fetched again, the string is deserialized to
+reconstruct the data structure into memory.")
+    (license license:perl-license)))
+
 (define-public perl-modern-perl
   (package
     (name "perl-modern-perl")
-- 
2.41.0