Parse::Debian::Packages(3) parse the data from a debian Packages.gz


use YAML;
use IO::File;
use Parse::Debian::Packages;
my $fh = IO::File->new("Packages");
my $parser = Parse::Debian::Packages->new( $fh );
while (my %package = $parser->next) {
print Dump \%package;


This module parses the Packages files used by the debian package management tools.

It presents itself as an iterator. Each call of the ->next method will return the next package found in the file.

For laziness, we take a filehandle in to the constructor. Please open the file for us.


new( $filehandle )


Iterate to the next package in the file, returns either a hash containing a package description, or false at end of file.

as_hash( $filehandle )

Return all the packages from a filehandle as a hash of hashes.


Richard Clamp <[email protected]> with as_hash implementation by Thomas Klausner.


Copyright (C) 2003,2005,2012 Richard Clamp. All Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.