Dpkg::Interface::Storable(3perl) libdpkg-perl Dpkg::Interface::Storable(3perl)

# [NAME](#NAME)

Dpkg::Interface::Storable - common methods related to object serialization

# [DESCRIPTION](#DESCRIPTION)

Dpkg::Interface::Storable is only meant to be used as parent class for other classes. It provides common methods that are all implemented on top of two basic methods **parse()** and **output()**.

# [BASE METHODS](#BASE_METHODS)

Those methods must be provided by the class that wish to inherit from Dpkg::Interface::Storable so that the methods provided can work.

$obj-&gt;parse($fh\[, $desc])

This methods initialize the object with the data stored in the filehandle. $desc is optional and is a textual description of the filehandle used in error messages.

$string = $obj-&gt;output(\[$fh])

This method returns a string representation of the object in $string and it writes the same string to $fh (if it's defined).

# [PROVIDED METHODS](#PROVIDED_METHODS)

$obj-&gt;load($filename, %opts)

Initialize the object with the data stored in the file. The file can be compressed, it will be decompressed on the fly by using a Dpkg::Compression::FileHandle object. If $opts{compression} is false the decompression support will be disabled. If $filename is "-", then the standard input is read (no compression is allowed in that case).

$obj-&gt;save($filename, %opts)

Store the object in the file. If the filename ends with a known compression extension, it will be compressed on the fly by using a Dpkg::Compression::FileHandle object. If $opts{compression} is false the compression support will be disabled. If $filename is "-", then the standard output is used (data are written uncompressed in that case).

$string = "$obj"

Return a string representation of the object.

# [CHANGES](#CHANGES)

## [Version 1.01 (dpkg 1.19.0)](#Version_1.01_%28dpkg_1.19.0%29)

New options: The $obj-&gt;**load()** and $obj-&gt;**save()** methods support a new compression option.

## [Version 1.00 (dpkg 1.15.6)](#Version_1.00_%28dpkg_1.15.6%29)

Mark the module as public.

2026-09-09 1.23.11-dirty

---

Document: Dpkg::Interface::Storable(3perl) from dpkg 1.23.11-r3 (Chainguard OS)
Source: https://git.dpkg.org/git/dpkg/dpkg.git
