---
name: "DPKG::Parse"
section: "3pm"
platform: "linux"
package: "libdpkg-parse-perl"
version: "0.03-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/DPKG::Parse"
---

# DPKG::Parse(3pm)

Parse various dpkg files into Perl Objects

## NAME

DPKG::Parse - Parse various dpkg files into Perl Objects

## SYNOPSIS

```
    use DPKG::Parse::Status;
    my $status = DPKG::Parse::Status->new;
    while (my $entry = $status->next_package) {
        print $entry->package . " " . $entry->version . "\n";
    }
    use DPKG::Parse::Available;
    my $available = DPKG::Parse::Available->new;
    while (my $entry = $available->next_package) {
        print $entry->package . " " . $entry->version . "\n";
    }
```

## DESCRIPTION

DPKG::Parse contains utilities to parse the various files created by dpkg and turn them into helpful Perl objects.  Current files understood by various DPKG::Parse modules:

```
  /var/lib/dpkg/status    - DPKG::Parse::Status
  /var/lib/dpkg/available - DPKG::Parse::Available
  Packages.gz             - DPKG::Parse::Packages
```

See each module's documentation for particulars - You should not be calling DPKG::Parse directly.

## METHODS

- filename($filename)

  A simple accessor for the file currently being parsed.

- entryarray

  Access to the raw array of entries in a given file.

- entryhash

  Access to the raw hash of entries.  The key is determined by the module, but is usually the Package name.

- new('filename' =\> '/var/lib/dpkg/status');

  A generic new function; takes a filename and calls the **filename()** accessor with it.  Should not be called directly, but through on of the children of this package.

- parse

  A default parse function; simply calls parse\_package\_format.

- parse\_package\_format

  Takes a file in a format similar to the dpkg "available" file, and creates DPKG::Parse::Entry objects from each entry.

- get\_package('name' =\> 'postfix', 'hash' =\> 'entryhash');

  The value of a hash, if it exists.  By default, it uses the value returned by the "entryhash" accessor, but that can be overridden with the "hash" parameter.  Usually returns a DPKG::Parse::Entry object.

- next\_package

  Shifts the next value off the array stored in the **entryarray()** accessor. If you want to access the raw values, do not use this function!  It shifts!

## SEE ALSO

DPKG::Parse::Status, DPKG::Parse::Available, DPKG::Parse::Packages, DPKG::Parse::Entry

## AUTHOR

Adam Jacob, `"holoway@cpan.org"`

## LICENSE

This library is free software. You can redistribute it and/or modify it under the same terms as perl itself.
