my $result = GetOptions (
# modes
- "who" => \$who,
- "rank" => \$rank,
+ "who" => \$who,
+ "rank" => \$rank,
"thanks-applied" => \$ta,
- "missing" => \$ack ,
- "tap" => \$tap,
+ "missing" => \$ack ,
+ "tap" => \$tap,
+
# modifiers
- "authors" => \$author_file,
- "percentage" => \$percentage, # show as %age
- "cumulative" => \$cumulative,
- "reverse" => \$reverse,
+ "authors=s" => \$author_file,
+ "percentage" => \$percentage, # show as %age
+ "cumulative" => \$cumulative,
+ "reverse" => \$reverse,
);
if (!$result or ( $rank + $ta + $who + $ack + $tap != 1 ) or !@ARGV) {
}
$author_file ||= './AUTHORS';
-die "Can't locate '$author_file'. Specify it with '--author <path>'."
+die "Can't locate '$author_file'. Specify it with '--authors <path>'."
unless -f $author_file;
my $map = generate_known_author_map();
"arbor\100al37al08.telecel.pt"
, # reported perlbug ticket 5196 - no actual code contribution. no real name - jrv 20091006
"oracle\100pcr8.pcr.com", # Reported perlbug ticket 1015 - no patch - Probably Ed Eddington ed@pcr.com
+ "snaury\100gmail.com", # Reported cpan ticket 35943, with patch for fix
;
#
sub _raw_address {
my $addr = shift;
my $real_name;
- if ( $addr =~ /<.*>/ ) {
+ if ($addr =~ /(?:\\?")?\s*\(via RT\) <perlbug-followup\@perl\.org>$/p) {
+ my $name = ${^PREMATCH};
+ $addr = 'perlbug-followup@perl.org';
+ #
+ # Try to find the author
+ #
+ while (my ($email, $author_name) = each %authors) {
+ if ($name eq $author_name) {
+ $addr = $email;
+ $real_name = $name;
+ last;
+ }
+ }
+ }
+ elsif ( $addr =~ /<.*>/ ) {
$addr =~ s/^\s*(.*)\s*<\s*(.*?)\s*>.*$/$2/;
$real_name = $1;
}
demerphq demerphq\100gmail.com
+ yves.orton\100de.mci.com
+ yves.orton\100mciworldcom.de
++ yves.orton\100booking.com
+ demerphq\100dromedary.booking.com
+ demerphq\100gemini.(none)
+ demerphq\100camel.booking.com
# Mere mortals.
#
\043####\100juerd.nl juerd\100cpan.org
++ juerd\100c3.convolution.nl
+ juerd\100convolution.nl
a.r.ferreira\100gmail.com aferreira\100shopzilla.com
abe\100ztreet.demon.nl abeltje\100cpan.org
BQW10602\100nifty.com sadahiro\100cpan.org
chromatic\100wgz.org chromatic\100rmci.net
+ckuskie\100cadence.com colink\100perldreamer.com
claes\100surfar.nu claes\100versed.se
clintp\100geeksalad.org cpierce1\100ford.com
clkao\100clkao.org clkao\100bestpractical.com
lutherh\100stratcom.com lutherh\100infinet.com
mab\100wdl.loral.com markb\100rdcf.sm.unisys.com
marcel\100codewerk.com gr\100univie.ac.at
+marcgreen\100cpan.org marcgreen\100wpi.edu
+markleightonfisher\100gmail.com fisherm\100tce.com
mark.p.lutz\100boeing.com tecmpl1\100triton.ca.boeing.com
marnix\100gmail.com pttesac!marnix!vanam
marty+p5p\100kasei.com marty\100martian.org
+ khw\100khw-desktop.(none)
radu\100netsoft.ro rgreab\100fx.ro
+rajagopa\100pauline.schrodinger.com rajagopa\100schrodinger.com
raphael.manfredi\100pobox.com raphael_manfredi\100grenoble.hp.com
module@renee-baecker.de renee.baecker\100smart-websolutions.de
+ reneeb\100reneeb-desktop.(none)
+ otrs\100ubuntu.(none)
++ perl\100renee-baecker.de
richard.foley\100rfi.net richard.foley\100t-online.de
+ richard.foley\100ubs.com
+ richard.foley\100ubsw.com
+ perl.p5p\100rjbs.manxome.org
rjk\100linguist.dartmouth.edu rjk\100linguist.thayer.dartmouth.edu
+ rjk-perl-p5p\100tamias.net
++ rjk\100tamias.net
rjray\100redhat.com rjray\100uswest.com
rmgiroux\100acm.org rmgiroux\100hotmail.com
+ mgiroux\100bear.com
robin\100cpan.org robin\100kitsite.com
roderick\100argon.org roderick\100gate.net
+ roderick\100ibcinc.com
+root\100ub32.org argrath\100ub32.org
rootbeer\100teleport.com rootbeer\100redcat.com
+ tomphoenix\100unknown
rurban\100x-ray.at rurban\100cpan.org
-
++ rurban\100cpanel.net
sartak\100bestpractical.com sartak\100gmail.com
++ code\100sartak.org
sadinoff\100olf.com danny-cpan\100sadinoff.com
schubiger\100cpan.org steven\100accognoscere.org
+ sts\100accognoscere.org
wolfgang.laun\100alcatel.at wolfgang.laun\100chello.at
+ wolfgang.laun\100thalesgroup.com
+ wolfgang.laun\100gmail.com
+wolfsage\100gmail.com mhorsfall\100darmstadtium.(none)
yath\100yath.de yath-perlbug\100yath.de
jkeen@verizon.net jkeenan@cpan.org