Adam Kennedy

NAME

Parse::CPAN::MirroredBy - Parse MIRRORED.BY

DESCRIPTION

Like the other members of the Parse::CPAN family Parse::CPAN::MirroredBy parses and processes the CPAN meta data file MIRRORED.BY.

METHODS

new

Creates a new, simple, parser object.

add_map

  # Instead of the full hash just read the hostname
  $parser->add_map( sub { $_[0]->{hostname} } );

The add_map method adds a map stage to the filter pipeline.

A single element is passed into the provided function from the previous pipeline phase, and one or more values can be returned which will be passed on to the next pipeline phase.

Returns true if added, or throws an exception if a non-CODE reference is provided.

add_grep

  # We only want the daily mirrors
  $parser->add_grep( sub { $_[0]->{frequency} eq 'daily' } );

The add_grep method adds a grep phase to the filter pipeline.

A single value is passed into the provided function, and the function should return true if the value is to be kept, or false if not.

Returns true if added, or throws an exception if a non-CODE reference is provided.

add_bless

  # Bless into whatever objects
  $parser->add_bless( 'Foo::Whatever' );

For situations in which you wish to convert the pipeline values into objects directly, and don't want to do it via a map phase that passes values into a contructor, the add_bless method allows you to provide a class name that the elements of the pipe will be passed to.

parse_file

  my @mirrors = $parser->parse_file( 'MIRRORED.BY' );

Once the parser is ready to process the file, the parse_file method can be provided a file name to read. It will read the file, passing the contents through the filter pipeline, and returning the resulting values as a list of results.

parse

  my @mirrors = $parser->parse( $file_handle );

Once the parser is ready to process the file, the parse method can be provided a file handle to read. It will read from the file handle, passing the contents through the filter pipeline, and returning the resulting values as a list of results.

SUPPORT

Bugs should be reported via the CPAN bug tracker at

http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Parse-CPAN-MirroredBy

AUTHOR

Adam Kennedy <adamk@cpan.org>

SEE ALSO

Parse::CPAN::Authors, Parse::CPAN::Packages, Parse::CPAN::Modlist, Parse::CPAN::Meta

COPYRIGHT

Copyright 2008 Adam Kennedy.

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

The full text of the license can be found in the LICENSE file included with this module.




Hosting generously
sponsored by Bytemark