NAME CPAN::Index::API - Read and write CPAN index files VERSION version 0.004 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 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.