Acme-CPANAuthors-InMemoriam
view release on metacpan or search on metacpan
Revision history for Acme-CPANAuthors-InMemoriam
================================================
1.09 2025-11-29
- added several authors who have passed away over the last 6 years
- thanks to BOOK, ETHER and LNATION for making me aware of these losses
to CPAN and our communities.
1.08 2019-08-17
- added Gary Howland (https://iang.org/rants/gary_howland.html)
- added Kip Hampton (https://twitter.com/tamarou/status/839255057627508736)
1.07 2017-05-23
- added Jon Portnoy (AVENJ) (notified by Kent Fredric, CPAN RT#117177,
patched by Adriano Ferreira))
Changes
examples/author_info
examples/count
lib/Acme/CPANAuthors/InMemoriam.pm
LICENSE
Makefile.PL
MANIFEST
META.json
META.yml
README
t/00load.t
t/10inmemoriam.t
{
"name": "Acme-CPANAuthors-InMemoriam",
"version": "1.08",
"abstract": "In honour of our deceased CPAN Authors.",
"author": [
"Barbie (BARBIE) <barbie@cpan.org>"
],
"license": [ "artistic_2" ],
"dynamic_config" : 0,
"release_status" : "stable",
"meta-spec": {
"version": "2",
"url": "http://search.cpan.org/dist/CPAN-Meta/lib/CPAN/Meta/Spec.pm"
},
"generated_by": "Hand 1.0",
"keywords" : [
"acme",
"cpan",
"authors"
],
"prereqs" : {
"runtime" : {
"requires" : {
"perl": "5.006",
"Acme::CPANAuthors": "0.04"
}
},
"test" : {
--- #YAML:1.0
name: Acme-CPANAuthors-InMemoriam
version: 1.08
abstract: In honour of our deceased CPAN Authors.
author:
- Barbie <barbie@cpan.org>
license: artistic_2
distribution_type: module
installdirs: site
requires:
perl: 5.006
Acme::CPANAuthors: 0.04
recommends:
examples/author_info view on Meta::CPAN
#!/usr/bin/perl
use warnings;
use strict;
use Acme::CPANAuthors;
die "usage: $0 PAUSE_ID [PAUSE_ID ...]\n" unless @ARGV;
my $authors = Acme::CPANAuthors->new("InMemoriam");
for my $id (@ARGV) {
$id = uc $id;
my $name = $authors->name($id) || $id;
my @dists = $authors->distributions($id);
my $kwalitee = $authors->kwalitee($id);
print "$name has published ", ~~@dists," distributions:\n";
@dists = sort { lc($a->dist) cmp lc($b->dist) } @dists;
for my $dist (@dists) {
printf " - %s v%s, kwalitee %s\n",
$dist->dist, $dist->version,
$kwalitee->{distributions}{ $dist->dist }{kwalitee},
}
examples/count view on Meta::CPAN
#!/usr/bin/perl
use warnings;
use strict;
use Acme::CPANAuthors;
my $authors = Acme::CPANAuthors->new("InMemoriam");
my $number = $authors->count;
print "$number CPAN authors are known to have left us\n";
lib/Acme/CPANAuthors/InMemoriam.pm view on Meta::CPAN
__END__
=encoding UTF-8
=head1 NAME
Acme::CPANAuthors::InMemoriam - Remembering our fallen heroes
=head1 DESCRIPTION
This class provides a hash of CPAN authors' PAUSE ID and name to be
used with the C<Acme::CPANAuthors> module.
This module was created to remember those CPAN Authors who are no longer with
us, who have given us their inspiration in the form of code, to continue and
celebrate their time with us.
=head1 OUR HEROES
ABELTJE Abe Timmerman d.2024
AMORETTE Hojung Yoon d.2013
lib/Acme/CPANAuthors/InMemoriam.pm view on Meta::CPAN
SCHOP Ariel Brosh d.2003
SPIDB Raun Boardman d.2021
SPOON Iain Truskett d.2003
SUGMAK Makoto Sugiyama d.2010
TADMC Tad McClellan d.2012
VSARKISS Vahe Sarkissian d.2008
ZEFRAM Andrew Main d.2025
=head1 MAINTENANCE
If you are aware of any CPAN author that we have sadly lost, and who is not
listed here, please send me their ID/name via email or RT, and I will update
the module. If there are any mistakes, please contact me as soon as possible,
and I'll amend the entry right away.
=head1 SEE ALSO
L<Acme::CPANAuthors> - Main class to manipulate this one
=head1 SUPPORT
Bugs, patches and feature requests can be reported at:
=over 4
=item * RT: CPAN's request tracker
L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Acme-CPANAuthors-InMemoriam>
=item * GitHub
L<http://github.com/barbie/acme-cpanauthors-inmemoriam>
=back
There are no known bugs at the time of this release. However, if you spot a
bug or are experiencing difficulties that are not explained within the POD
documentation, please send an email to barbie@cpan.org or submit a bug to
the RT queue. However, it would help greatly if you are able to pinpoint
problems or even supply a patch.
Fixes are dependent upon their severity and my availability. Should a fix
t/10inmemoriam.t view on Meta::CPAN
#!perl
use strict;
use warnings;
use Test::More;
plan skip_all => "can't load Acme::CPANAuthors"
unless eval "use Acme::CPANAuthors; 1";
plan tests => 9;
my $authors = eval { Acme::CPANAuthors->new("InMemoriam") };
is( $@, "", "creating a new Acme::CPANAuthors object with InMemoriam authors" );
isa_ok( $authors, "Acme::CPANAuthors" );
my $number = 29;
is( $authors->count, $number, " .. \$authors->count matches current count" );
my @ids = $authors->id;
cmp_ok( ~~@ids, ">", 0, " .. \$authors->id gives a non-empty list" );
is( ~~@ids, $number, " .. \$authors->id equals \$authors->count" );
SKIP: {
my $file;
eval { $file = Acme::CPANAuthors::Utils::_cpan_authors_file() };
skip "CPAN configuration not available", 4 if($@ || !$file);
$file = undef;
eval { $file = Acme::CPANAuthors::Utils::_cpan_packages_file() };
skip "CPAN configuration not available", 4 if($@ || !$file);
my @distros = $authors->distributions('IVORW');
cmp_ok( ~~@distros, ">", 0, " .. \$authors->distributions('IVORW') gives a non-empty list" );
@distros = $authors->distributions('XXXXXX');
cmp_ok( ~~@distros, "==", 0, " .. \$authors->distributions('XXXXXX') gives an empty list" );
my $name = $authors->name('IVORW');
is($name, "Ivor Williams", " .. \$authors->name('IVORW') returns Ivor Williams" );
# SKIP: {
# skip "en.gravatar.com is not available", 2
# if(pingtest('en.gravatar.com'));
#
# my $url;
# eval { $url = $authors->avatar_url('IVORW') };
# skip "en.gravatar.com is not available", 1 if($@);
# $url ||= '';
# is($url, 'http://www.gravatar.com/avatar/2459f554c069e44527716e3f35e1d0d1', ".. \$authors->avatar_url('IVORW') returns a URL" );
#
# eval { $url = $authors->avatar_url('BARBIE') };
# skip "en.gravatar.com is not available", 1 if($@);
# $url ||= '';
# cmp_ok( length($url), ">", 0, " .. \$authors->avatar_url('BINGOS') gives a non-empty string" );
# }
SKIP: {
skip "api.cpanauthors.org is not available", 1
if(pingtest('api.cpanauthors.org'));
my $kwalitee;
eval { $kwalitee = $authors->kwalitee('IVORW') };
skip "api.cpanauthors.org is not available", 1 if($@);
isa_ok( $kwalitee, "HASH", " .. \$authors->kwalitee('IVORW')" );
}
}
sub pingtest {
my $domain = shift or return 1;
my $cmd = $^O =~ /solaris/i ? "ping -s $domain 56 1" :
$^O =~ /dos|os2|mswin32|netware|cygwin/i ? "ping -n 1 $domain "
: "ping -c 1 $domain >/dev/null 2>&1";
eval { system($cmd) };
( run in 1.654 second using v1.01-cache-2.11-cpan-5c0b1e786e0 )