NAME
WWW::AUR::Iterator - An iterator for looping through all AUR packages.
SYNOPSIS
my $aurobj = WWW:AUR->new();
my $iter = $aurobj->iter();
# or without WWW::AUR:
my $iter = WWW::AUR::Iterator->new();
while ( my $pkg = $iter->next_obj ) {
print $pkg->name, "\n";
}
$iter->reset;
while ( my $p = $iter->next ) {
print "$_:$p->{$_}\n"
for qw{ id name version cat desc maint };
print "---\n";
}
# Retrieve information on the 12,345th package, alphabetically.
$iter->set_pos(12_345);
my $pkginfo = $iter->next;
DESCRIPTION
A WWW::AUR::Iterator object can be used to iterate through all packages currently listed on the AUR webiste.
CONSTRUCTOR
$OBJ = WWW::AUR::Iterator->new( %PATH_PARAMS );
%PATH_PARAMS
-
The parameters are the same as the WWW::AUR constructor. These are propogated to any WWW::AUR::Package objects that are created.
$OBJ
-
A WWW::AUR::Iterator object.
METHODS
reset
$OBJ->reset;
The iterator is reset to the beginning of all packages available in the AUR. This starts the iteration over just like creating a new WWW::AUR::Iterator object.
next
\%PKGINFO | undef = $OBJ->next();
This package scrapes the http://aur.archlinux.org/packages.php webpage as if it kept clicking the Next button and recording each package.
\%PKGINFO
-
A hash reference containing all the easily available information about that particular package. The follow table lists each key and its corresponding value.
|------------+------------------------------------------------| | NAME | VALUE | |------------+------------------------------------------------| | name | The name (pkgname) of the package. | | votes | The number of votes for the package. | | desc | The description (pkgdesc) of the package. | | cat | The AUR category name assigned to the package. | | maint | The name of the maintainer of the package. | |------------+------------------------------------------------|
undef
-
If we have iterated through all packages, then
undef
is returned.
next_obj
$PKGOBJ | undef = $OBJ->next_obj();
This package is like the "next" method above but creates a new object as a convenience. Keep in mind an HTTP request to AUR must be made when creating a new WWW::AUR::Package object. Use the "next" method if you can, it is faster.
$PKGOBJ
-
A WWW::AUR::Package object representing the next package in the AUR.
undef
-
If we have iterated through all packages, then
undef
is returned.
set_pos
undef = $OBJ->set_pos( $POS );
Set the iterator position to the given index in the entire list of packages from packages.php.
SEE ALSO
AUTHOR
Justin Davis, <juster at cpan dot org>
BUGS
Please email me any bugs you find. I will try to fix them as quick as I can.
SUPPORT
Send me an email if you have any questions or need help.
LICENSE AND COPYRIGHT
Copyright 2012 Justin Davis.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.