1 package Acme::CPANAuthors::You::re_using;
8 use ExtUtils::Installed;
10 use Acme::CPANAuthors::Utils;
14 Acme::CPANAuthors::You::re_using - We are the CPAN authors that have written the modules installed on your perl!
29 use Acme::CPANAuthors;
31 my $authors = Acme::CPANAuthors->new("You're_using");
32 print $authors->name($_) . " ($_)\n" for $authors->id;
36 This module builds an L<Acme::CPANAuthors> class by listing all the modules that are installed on the current C<perl> and then retrieving the name and the PAUSE id of their corresponding authors.
38 It may take some time to load since it has to get CPAN indexes at C<BEGIN> time.
45 my $pkgs = Acme::CPANAuthors::Utils::cpan_packages();
46 croak 'Couldn\'t retrieve a valid Parse::CPAN::Packages object' unless $pkgs;
48 my $auths = Acme::CPANAuthors::Utils::cpan_authors();
49 croak 'Couldn\'t retrieve a valid Parse::CPAN::Authors object' unless $auths;
51 my $installed = ExtUtils::Installed->new;
52 croak 'Couldn\'t create a valid ExtUtils::Installed object' unless $installed;
54 for ($installed->modules()) {
55 my $mod = $pkgs->package($_);
58 my $dist = $mod->distribution;
61 my $cpanid = $dist->cpanid;
62 next if not $cpanid or exists $authors{$cpanid};
64 my $auth = $auths->author($cpanid);
67 $name = $auth->name if defined $auth;
69 $authors{$cpanid} = defined $name ? $name : $cpanid;
72 require Acme::CPANAuthors::Register;
73 Acme::CPANAuthors::Register->import(%authors);
78 L<Carp>, L<ExtUtils::Installed>, L<Acme::CPANAuthors>.
82 All others C<Acme::CPANAuthors::*> modules.
86 Vincent Pit, C<< <perl at profvince.com> >>, L<http://www.profvince.com>.
88 You can contact me by mail or on C<irc.perl.org> (vincent).
92 Please report any bugs or feature requests to C<bug-acme-cpanauthors-you-re_using at rt.cpan.org>, or through the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Acme-CPANAuthors-You-re_using>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
96 You can find documentation for this module with the perldoc command.
98 perldoc Acme::CPANAuthors::You::re_using
100 =head1 COPYRIGHT & LICENSE
102 Copyright 2009 Vincent Pit, all rights reserved.
104 This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.