---
name: "Dpkg::Compression::Process"
section: "3perl"
platform: "linux"
package: "dpkg"
version: "1.23.11-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Dpkg::Compression::Process/3perl"
---

# Dpkg::Compression::Process(3perl)

run compression/decompression processes

## NAME

Dpkg::Compression::Process - run compression/decompression processes

## DESCRIPTION

This module provides an object oriented interface to run and manage compression/decompression processes.

## METHODS

- $proc = Dpkg::Compression::Process-\>new(%opts)

  Create a new instance of the object.

  Options:

  - **compression**

    See `$proc`-\>**set\_compression()**.

  - **compression\_level**

    See `$proc`-\>**set\_compression\_level()**.

- $proc-\>set\_compression($comp)

  Select the compression method to use. It errors out if the method is not supported according to **compression\_is\_supported()** (of Dpkg::Compression).

- $proc-\>set\_compression\_level($level)

  Select the compression level to use. It errors out if the level is not valid according to **compression\_is\_valid\_level()** (of Dpkg::Compression).

- @exec = $proc-\>**get\_compress\_cmdline()**

  - @exec = $proc-\>**get\_uncompress\_cmdline()**

  Returns a list ready to be passed to **exec()**, its first element is the program name (either for compression or decompression) and the following elements are parameters for the program.

  When executed the program acts as a filter between its standard input and its standard output.

- $proc-\>compress(%opts)

  Starts a compressor program. You must indicate where it will read its uncompressed data from and where it will write its compressed data to. This is accomplished by passing one parameter `"to_*"` and one parameter `"from_*"` as accepted by **Dpkg::IPC::spawn()**.

  You must call **wait\_end\_process()** after having called this method to properly close the sub-process (and verify that it exited without error).

  Options:

  See **Dpkg::IPC::spawn()**.

- $proc-\>uncompress(%opts)

  Starts a decompressor program. You must indicate where it will read its compressed data from and where it will write its uncompressed data to. This is accomplished by passing one parameter `"to_*"` and one parameter `"from_*"` as accepted by **Dpkg::IPC::spawn()**.

  You must call **wait\_end\_process()** after having called this method to properly close the sub-process (and verify that it exited without error).

  Options:

  See **Dpkg::IPC::spawn()**.

- $proc-\>wait\_end\_process(%opts)

  Call **Dpkg::IPC::wait\_child()** to wait until the sub-process has exited and verify its return code. Any given option will be forwarded to the **wait\_child()** function. Most notably you can use the "no\_check" option to verify the return code yourself instead of letting **wait\_child()** do it for you.

  Options:

  See **Dpkg::IPC::wait\_child()**.

## CHANGES

### Version 1.00 (dpkg 1.15.6)

Mark the module as public.
