---
name: "Dpkg::Deps::Multiple"
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::Deps::Multiple"
---

# Dpkg::Deps::Multiple(3perl)

base module to represent multiple dependencies

## NAME

Dpkg::Deps::Multiple - base module to represent multiple dependencies

## DESCRIPTION

The Dpkg::Deps::Multiple module provides objects implementing various types of dependencies. It is the base class for Dpkg::Deps::{AND,OR,Union}.

## METHODS

- $dep = Dpkg::Deps::Multiple-\>new(@deps);

  Creates a new object, with the list of dependencies in `@deps`.

- $dep-\>**reset()**

  Clears any dependency information stored in `$dep` so that `$dep`-\>**is\_empty()** returns true.

- $dep-\>add(@deps)

  Adds new dependency objects at the end of the list.

- @dep\_list = $dep-\>**get\_deps()**

  Returns a list of sub-dependencies.

- $dep-\>**sort()**

  Sorts alphabetically the internal list of dependencies.

- $bool = $dep-\>arch\_is\_concerned($arch)

  Returns true if at least one of the sub-dependencies apply to this architecture.

- $dep-\>reduce\_arch($arch)

  Simplifies the dependencies to contain only information relevant to the given architecture. The non-relevant sub-dependencies are removed.

  This trims off the architecture restriction list of Dpkg::Deps::Simple objects.

- @pkgname\_list = $dep-\>**has\_arch\_restriction()**

  Returns the list of package names that have such a restriction.

- $bool = $dep-\>**profile\_is\_concerned()**

  Returns true if at least one of the sub-dependencies apply to this profile.

- $dep-\>**reduce\_profiles()**

  Simplifies the dependencies to contain only information relevant to the given profile. The non-relevant sub-dependencies are removed.

  This trims off the profile restriction list of Dpkg::Deps::Simple objects.

- $bool = $dep-\>**is\_empty()**

  Returns true if the dependency is empty and doesn't contain any useful information. This is true when a (descendant of) Dpkg::Deps::Multiple contains an empty list of dependencies.

- $bool = $dep-\>merge\_union($other\_dep)

  This method is not meaningful for this object, and will always croak.

## CHANGES

### Version 1.02 (dpkg 1.17.10)

New methods: Add `$dep`-\>**profile\_is\_concerned()** and `$dep`-\>**reduce\_profiles()**.

### Version 1.01 (dpkg 1.16.1)

New method: Add `$dep`-\>**reset()**.

### Version 1.00 (dpkg 1.15.6)

Mark the module as public.
