DPKG::Parse(3) 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!

AUTHOR

Adam Jacob, "[email protected]"

LICENSE

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