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.
49 my $pkgs = Acme::CPANAuthors::Utils::cpan_packages();
50 croak 'Couldn\'t retrieve a valid Parse::CPAN::Packages object' unless $pkgs;
52 my $auths = Acme::CPANAuthors::Utils::cpan_authors();
53 croak 'Couldn\'t retrieve a valid Parse::CPAN::Authors object' unless $auths;
55 my $installed = ExtUtils::Installed->new(extra_libs => \@INC);
56 croak 'Couldn\'t create a valid ExtUtils::Installed object' unless $installed;
58 for ($installed->modules) {
59 next unless defined and $_ ne 'Perl';
61 my $mod = $pkgs->package($_);
64 my $dist = $mod->distribution;
67 my $cpanid = $dist->cpanid;
68 next if not $cpanid or exists $authors{$cpanid};
70 my $auth = $auths->author($cpanid);
73 $name = $auth->name if defined $auth;
75 $authors{$cpanid} = defined $name ? $name : $cpanid;
78 require Acme::CPANAuthors::Register;
79 Acme::CPANAuthors::Register->import(%authors);
84 L<Carp>, L<ExtUtils::Installed>, L<Acme::CPANAuthors>.
88 All others C<Acme::CPANAuthors::*> modules.
92 Vincent Pit, C<< <perl at profvince.com> >>, L<http://www.profvince.com>.
94 You can contact me by mail or on C<irc.perl.org> (vincent).
98 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.
102 You can find documentation for this module with the perldoc command.
104 perldoc Acme::CPANAuthors::You::re_using
106 =head1 COPYRIGHT & LICENSE
108 Copyright 2009 Vincent Pit, all rights reserved.
110 This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.