NAME CPAN::Index::API - Read and write CPAN index files VERSION version 0.007 SYNOPSIS my $index = CPAN::Index::API->new_from_repo_uri( repo_uri => 'http://cpan.perl.org/', files => [qw(PackagesDetails ModList MailRc)], ); my $packages = $index->file('PackagesDetails'); DESRIPTION "CPAN::Index::API" is a library to read and write CPAN index files. See the modules in the "CPAN::Index::API::File" namesace for documentation on the individual files supported. This class provides a convenient interface for working with multiple files from the same location at the same time. CONSTRUCTION new Creates a new index object. Accepts the following parameters: files Required. Hashrefs whose values are "CPAN::Index::API::File" objects. The individual objects can later be accessed by their respective hash key via the "file" method. repo_path Optional. Path to the root of the repository to which the index files belong. repo_uri Optional. Base uri of the repository to which the index files belong. new_from_repo_path Creates a new index object by reading one or more index files from a local repository. Accepts the following parameters: files Required. Arrayref of names of index files to be read. Each name must be the name of a plugin under the "CPAN::Index::API::File::" namespace, e.g. "PackagesDetails", "ModList", etc. repo_path Required. Path to the root of the local repository. new_from_repo_uri Creates a new index object by reading one or more index files from a remote repository. Accepts the following parameters: files Required. Arrayref of names of index files to be read. Each name must be the name of a plugin under the "CPAN::Index::API::File::" namespace, e.g. "PackagesDetails", "ModList", etc. repo_uri Required. Path to the base uri of the remote repository. METHODS file Given the name of a file plugin loaded within the index, returns the object corresponding to this index file. repo_path Returns the path to the repository. repo_uri Returns the base uri of the repository. write_all_files Writes all index files to their default locations under "repo_path". clone Creates a new instance of this object, overloading any of the existing attributes with any arguments passed. AUTHOR Peter Shangov <pshangov@yahoo.com> COPYRIGHT AND LICENSE This software is copyright (c) 2012 by Venda, Inc.. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.