# phpman > perldoc > Dpkg::Interface::Storable

## NAME
    [Dpkg::Interface::Storable](https://www.chedong.com/phpMan.php/perldoc/Dpkg%3A%3AInterface%3A%3AStorable/markdown) - common methods related to object serialization

## DESCRIPTION
    [Dpkg::Interface::Storable](https://www.chedong.com/phpMan.php/perldoc/Dpkg%3A%3AInterface%3A%3AStorable/markdown) 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
    Those methods must be provided by the class that wish to inherit from [Dpkg::Interface::Storable](https://www.chedong.com/phpMan.php/perldoc/Dpkg%3A%3AInterface%3A%3AStorable/markdown)
    so that the methods provided can work.

    $obj->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->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
    $obj->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](https://www.chedong.com/phpMan.php/perldoc/Dpkg%3A%3ACompression%3A%3AFileHandle/markdown) 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->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](https://www.chedong.com/phpMan.php/perldoc/Dpkg%3A%3ACompression%3A%3AFileHandle/markdown) 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).

    "$obj"
        Return a string representation of the object.

## CHANGES
  Version 1.01 (dpkg 1.19.0)
    New options: The $obj->load() and $obj->save() methods support a new compression option.

  Version 1.00 (dpkg 1.15.6)
    Mark the module as public.

