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.