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.