Skip to content
something that will interact with MetaCPAN's API
Perl Perl6
Find file
Latest commit e6018cb Apr 7, 2015 @SineSwiper Merge pull request #3 from leejo/leejo/increase_test_coverage
Increase test coverage
Failed to load latest commit information.
lib/Dist/Zilla/Role provide fallback for POSIX::PATH_MAX for platforms without it Feb 20, 2014
t increase test coverage Mar 1, 2015
.gitignore Initial commit Jul 19, 2012
.mailmap DZIL cleanup Feb 27, 2014
README.pod Release v0.97 Feb 27, 2014
dist.ini DZIL cleanup Feb 27, 2014



Dist::Zilla::Role::MetaCPANInterfacer - something that will interact with MetaCPAN's API


    # in your plugin/etc. code
    with 'Dist::Zilla::Role::MetaCPANInterfacer';
    my $obj = $self->mcpan->fetch(...);


This role is simply gives you a MetaCPAN::API object to use with caching, so that other plugins can share that cache. It uses the awesome example provided in the "SYNOPSIS" in MetaCPAN::API, contributed by Kent Fredric.


All of these attributes are f'ing lazy, because they like to sit around the house. They are also read-write, as this is a role, and you might want to change around the defaults.


  • Type: A MetaCPAN::API object
  • Default: A new object, using mcpan_ua as the Tiny user agent


  • Type: A HTTP::Tiny compatible user agent
  • Default: A new HTTP::Tiny::Mech object, using mcpan_mechua as the Mechanized user agent



  • Type: A caching object
  • Default: A new CHI object, using the CHI::Driver::File driver pointing to ~/.dzil/.webcache


The caching stuff could potentially be split, but frankly, none of the existing plugins really need caching all that much. I've at least called the .webcache directory a generic name, so feel free to re-use it.

(Honestly, the only reason why this is a DZ module IS the caching directory name...)


Dist::Zilla::PluginBundle::Prereqs, which uses this quite a bit.


The project homepage is

The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit to find a CPAN site near you, or see


Internet Relay Chat

You can get live help by using IRC ( Internet Relay Chat ). If you don't know what IRC is, please read this excellent guide: Please be courteous and patient when talking to us, as we might be busy or sleeping! You can join those networks/channels and get help:


    You can connect to the server at '' and talk to this person for help: SineSwiper.

Bugs / Feature Requests

Please report any bugs or feature requests via


Brendan Byrd <>


Christian Walde <>


This software is Copyright (c) 2014 by Brendan Byrd.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)
Something went wrong with that request. Please try again.