Acme::CPANAuthors - We are CPAN authors
use Acme::CPANAuthors; my $authors = Acme::CPANAuthors->new('Japanese'); my $number = $authors->count; my @ids = $authors->id; my @distros = $authors->distributions('ISHIGAKI'); my $url = $authors->avatar_url('ISHIGAKI'); my $kwalitee = $authors->kwalitee('ISHIGAKI'); my @info = $authors->look_for('ishigaki'); If you don't like this interface, just use a specific authors list. use Acme::CPANAuthors::Japanese; my %authors = Acme::CPANAuthors::Japanese->authors; # note that ->author is context sensitive. # however, you can't write this without dereference # as "keys" checks the type (actually, the number) of args. for my $name (keys %{ Acme::CPANAuthors::Japanese->authors }) { print Acme::CPANAuthors::Japanese->authors->{$name}, "\n"; }
Sometimes we just want to know something to confirm we're not alone, or to see if we're doing right things, or to look for someone we can rely on. This module provides you some basic information on us.
We've been holding a Kwalitee competition for Japanese CPAN Authors since 2006. Though Japanese names are rather easy to distinguish from Westerner's names (as our names have lots of vowels), it's tedious to look for Japanese authors every time we hold the contest. That's why I wrote this module and started maintaining the Japanese authors list with a script to look for candidates whose name looks like Japanese by the help of Lingua::JA::Romaji::Valid I coined.
Since then, dozens of lists are uploaded on CPAN. It may be time to start other games, like offering more useful statistics online.
Since 0.14, Acme::CPANAuthors checks ACME_CPANAUTHORS_HOME environmental variable to look for a place where CPAN indices are located. If you have a local (mini) CPAN mirror, or a source directory for your CPAN clients (~/.cpan/sources etc), set the variable to point there. If not specified, the indices will be downloaded from the CPAN (to your temporary directory, or to the current directory).
ACME_CPANAUTHORS_HOME
~/.cpan/sources
creates an object and loads the subclasses you specified. If you don't specify any subclasses, it tries to load all the subclasses found just under the "Acme::CPANAuthors" namespace (except Acme::CPANAuthors::Not).
returns how many CPAN authors are registered.
returns all the registered ids by default. If called with an id, this returns if there's a registered author of the id.
returns all the registered authors' name by default. If called with an id, this returns the name of the author of the id.
returns an array of Parse::CPAN::Packages::Distribution objects for the author of the id. See Parse::CPAN::Packages for details.
returns gravatar url of the id shown at search.cpan.org. see http://site.gravatar.com/site/implement for details.
returns kwalitee information for the author of the id. This information is scraped from http://kwalitee.perl.org/.
my @authors = Acme::CPANAuthors->look_for('SOMEONE'); foreach my $author (@authors) { printf "%s (%s) belongs to %s.\n", $author->{id}, $author->{name}, $author->{category}; }
takes an id or a name (or a part of them, or even a regexp) and returns an array of hash references, each of which contains an id, a name, and a basename of the class where the person is registered. Note that this will load all the installed Acme::CPANAuthors:: modules but Acme::CPANAuthors::Not and modules with deeper namespaces.
As of writing this, there're more than a dozen of lists on the CPAN, including:
These are not regional ones but for some local groups.
These are lists for specific module authors.
And other stuff.
Thank you all. And I hope more to come.
Kenichi Ishigaki, <ishigaki at cpan.org>
Copyright (C) 2007-2010 by Kenichi Ishigaki.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Acme::CPANAuthors, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Acme::CPANAuthors
CPAN shell
perl -MCPAN -e shell install Acme::CPANAuthors
For more information on module installation, please visit the detailed CPAN module installation guide.