4 $Text::Wrap::columns = 80;
5 my ($committer, $patch, $log,$date);
8 my ($rank, $percentage, $cumulative, $reverse, $ta, @authors, %authors,
9 %untraced, %patchers, %committers, %real_names);
10 my $result = GetOptions ("rank" => \$rank, # rank authors
11 "thanks-applied" => \$ta, # ranks committers
12 "acknowledged=s" => \@authors , # authors files
13 "percentage" => \$percentage, # show as %age
14 "cumulative" => \$cumulative,
15 "reverse" => \$reverse,
18 if (!$result or (($rank||0) + ($ta||0) + (@authors ? 1 : 0) != 1) or !@ARGV) {
20 $0 --rank Changelogs # rank authors by patches
21 $0 --acknowledged <authors file> Changelogs # Display unacknowledged authors
22 $0 --thanks-applied Changelogs # ranks committers
23 $0 --percentage ... # show rankings as percentages
24 $0 --cumulative ... # show rankings cumulatively
25 $0 --reverse ... # show rankings in reverse
26 Specify stdin as - if needs be. Remember that option names can be abbreviated.
38 if (my ($correct, $alias) = /^\s*([^#\s]\S*)\s+(.*\S)/) {
39 $correct =~ s/^\\043/#/;
40 if ($correct eq '+') {$correct = $prev} else {$prev = $correct}
41 $map {$alias} = $correct;
46 # Email addresses for we do not have names.
49 "bah\100longitude.com",
50 "bbucklan\100jpl-devvax.jpl.nasa.gov",
52 "bob\100starlabs.net",
53 "cygwin\100cygwin.com",
54 "david\100dhaller.de",
55 "erik\100cs.uni-jena.de",
56 "info\100lingo.kiev.ua", # Lingo Translation agency
57 "jms\100mathras.comcast.net",
58 "premchai21\100yahoo.com",
60 "raf\100tradingpost.com.au",
61 "smoketst\100hp46t243.cup.hp.com",
62 "root\100chronos.fi.muni.cz", # no clue - jrv 20090803
63 "gomar\100md.media-web.de", # no clue - jrv 20090803
64 "data-drift\100so.uio.no", # no data. originally private message from 199701282014.VAA12645@selters.uio.no
65 "arbor\100al37al08.telecel.pt", # reported perlbug ticket 5196 - no actual code contribution. no real name - jrv 20091006
66 "oracle\100pcr8.pcr.com", # Reported perlbug ticket 1015 - no patch - Probably Ed Eddington ed@pcr.com
70 # Email addresses for people that don't have an email address in AUTHORS
71 # Presumably deliberately?
75 # Nick Ing-Simmons has passed away (2006-09-25).
76 "nick\100ing-simmons.net",
78 "nick.ing-simmons\100elixent.com",
79 "nick\100ni-s.u-net.com",
80 "nick.ing-simmons\100tiuk.ti.com",
82 # Iain Truskett has passed away (2003-12-29).
83 "perl\100dellah.anu.edu.au",
84 "spoon\100dellah.org",
88 "me-02\100ton.iguana.be",
89 "perl-5.8.0\100ton.iguana.be",
90 "perl5-porters\100ton.iguana.be",
93 "beau\100beaucox.com",
96 "ml-perl\100thepierianspring.org",
98 # perl internal addresses
99 "perl5-porters\100africa.nicoh.com",
100 "perlbug\100perl.org",,
101 "perl5-porters.nicoh.com",
102 "perlbug-followup\100perl.org",
103 "perlbug-comment\100perl.org",
104 "bug-module-corelist\100rt.cpan.org",
105 "bug-storable\100rt.cpan.org",
106 "bugs-perl5\100bugs6.perl.org",
108 "unknown\100unknown",
109 "unknown\100longtimeago",
110 "unknown\100perl.org",
118 foreach my $filename (@authors) {
119 open FH, "<$filename" or die "Can't open $filename: $!";
126 } elsif (/^([-A-Za-z0-9 .\'À-ÖØöø-ÿ]+)[\t\n]/) {
129 } elsif (length $_) {
131 warn "Can't parse line '$_'";
137 foreach (keys %raw) {
138 print "E-mail $_ occurs $raw{$_} times\n" if $raw{$_} > 1;
140 $authors{$map{$_} || $_}++;
146 my @lines = split(/^commit\s*/sm,join('',<>));
149 next if m/^(\S*?)^Merge:/ism; # skip merge commits
150 if (m/^(.*?)^Author:\s*(.*?)^Date:\s*(.*?)^(.*)$/gism) {
152 ($patch, $committer, $date,$log) = ($1,$2,$3,$4);
154 unless ($committer) { die $_}
155 &process ($committer, $patch, $log);
156 } else { die "XXX $_ did not match";}
161 &display_ordered(\%patchers);
163 &display_ordered(\%committers);
166 foreach (sort keys %patchers) {
167 next if $authors{$_};
168 # Sort by number of patches, then name.
169 $missing{$patchers{$_}}->{$_}++;
171 foreach my $patches (sort {$b <=> $a} keys %missing) {
172 print "\n\n=head1 $patches patch(es)\n\n";
173 foreach my $author (sort keys %{$missing{$patches}}) {
174 my $xauthor = $author;
175 $xauthor =~ s/@/\\100/g; # xxx temp hack
176 print "".($real_names{$author}||$author) ."\t\t\t<" . $xauthor.">\n" ;
181 sub display_ordered {
185 while (my ($name, $count) = each %$what) {
186 push @{$sorted[$count]}, $name;
191 return unless @sorted;
193 foreach my $i ($reverse ? 0 .. $#sorted : reverse 0 .. $#sorted) {
194 next unless $sorted[$i];
196 $sum += $i * @{$sorted[$i]};
197 # Value to display is either this one, or the cumulative sum.
198 my $value = $cumulative ? $sum : $i;
200 $prefix = sprintf "%6.2f:\t", 100 * $value / $total;
202 $prefix = "$value:\t";
204 print wrap ($prefix, "\t", join (" ", sort @{$sorted[$i]}), "\n");
209 my ($committer, $patch, $log) = @_;
210 return unless $committer;
211 my @authors = $log =~ /From:\s+.*?([^"\@ \t\n<>]+\@[^"\@ \t\n<>]+)/gm;
214 foreach my $addr (@authors) {
216 $patchers{_raw_address($addr)}++;
218 # print "$patch: @authors\n";
219 $committers{_raw_address($committer)}++;
221 # print "$patch: $committer\n";
222 # Not entirely fair as this means that the maint pumpking scores for
223 # everything intergrated that wasn't a third party patch in blead
224 $patchers{_raw_address($committer)}++;
231 if ($addr =~ /<.*>/) {
232 $addr =~ s/^\s*(.*)\s*<\s*(.*?)\s*>.*$/$2/ ;
236 $addr = $map{$addr} || $addr;
237 $addr =~ s/\\100/@/g; # Sometimes, there are encoded @ signs in the git log.
239 if ($real_name) { $real_names{$addr} = $real_name};
247 # List of mappings. First entry the "correct" email address, as appears
248 # in the AUTHORS file. Second is any "alias" mapped to it.
250 # If the "correct" email address is a '+', the entry above is reused;
251 # this for addresses with more than one alias.
253 # Note that all entries are in lowercase. Further, no '@' signs should
254 # appear; use \100 instead.
259 adi enache\100rdslink.ro
260 alanbur alan.burlison\100sun.com
261 + alan.burlison\100uk.sun.com
262 + aburlison\100cix.compulink.co.uk
263 ams ams\100toroid.org
265 chip chip\100pobox.com
267 + salzench\100nielsenmedia.com
268 + chip\100atlantic.net
269 + chip\100rio.atlantic.net
270 + salzench\100dun.nielsen.com
271 + chip\100ci005.sv2.upperbeyond.com
272 craigb craig.berry\100psinetcs.com
273 + craig.berry\100metamorgs.com
274 + craig.berry\100signaltreesolutions.com
275 + craigberry\100mac.com
276 + craig.a.berry\100gmail.com
278 davem davem\100fdgroup.com
279 + davem\100iabyn.nospamdeletethisbit.com
281 + davem\100fdgroup.co.uk
282 + davem\100fdisolutions.com
284 demerphq demerphq\100gmail.com
285 + yves.orton\100de.mci.com
286 + yves.orton\100mciworldcom.de
287 + demerphq\100dromedary.booking.com
288 + demerphq\100gemini.(none)
289 + demerphq\100camel.booking.com
290 + demerphq\100hotmail.com
291 doughera doughera\100lafayette.edu
292 + doughera\100lafcol.lafayette.edu
293 + doughera\100fractal.phys.lafayette.edu
294 + doughera.lafayette.edu
295 + doughera\100newton.phys.lafayette.edu
297 gbarr gbarr\100pobox.com
298 + bodg\100tiuk.ti.com
300 + graham.barr\100tiuk.ti.com
301 + gbarr\100monty.mutatus.co.uk
302 gisle gisle\100activestate.com
305 + aas\100bergen.sn.no
306 gsar gsar\100activestate.com
308 + gsar\100engin.umich.edu
309 hv hv\100crypt.compulink.co.uk
313 + jhietaniemi\100gmail.com
315 + jhi\100alpha.hut.fi
318 + jarkko.hietaniemi\100nokia.com
319 + jarkko.hietaniemi\100cc.hut.fi
320 jesse jesse\100bestpractical.com
323 merijn h.m.brand\100xs4all.nl
324 + h.m.brand\100hccnet.nl
325 + merijn\100l1.procura.nl
326 + merijn\100a5.(none)
327 mhx mhx-perl\100gmx.net
329 nicholas nick\100unfortu.net
331 + nick\100talking.bollo.cx
332 + nick\100plum.flirble.org
333 + nick\100babyhippo.co.uk
334 + nick\100bagpuss.unfortu.net
335 + nick\100babyhippo.com
336 + Nicholas Clark (sans From field in mail header)
337 pudge pudge\100pobox.com
338 rgs rgarciasuarez\100free.fr
339 + rgarciasuarez\100mandrakesoft.com
340 + rgarciasuarez\100mandriva.com
341 + rgarciasuarez\100gmail.com
342 + raphel.garcia-suarez\100hexaflux.com
344 sky sky\100nanisky.com
345 + artur\100contiller.se
346 + arthur\100contiller.se
347 steveh steve.m.hay\100googlemail.com
348 + stevehay\100planit.com
349 + steve.hay\100uk.radan.com
350 stevep steve\100fisharerojo.org
351 + steve.peters\100gmail.com
352 + root\100dixie.cscaper.com
353 timb Tim.Bunce\100pobox.com
354 + tim.bunce\100ig.co.uk
360 \043####\100juerd.nl juerd\100cpan.org
361 + juerd\100convolution.nl
362 7k8lrvf02\100sneakemail.com kjx9zthh3001\100sneakemail.com
363 + dtr8sin02\100sneakemail.com
364 + rt8363b02\100sneakemail.com
365 + o6hhmk002\100sneakemail.com
366 + smueller\100cpan.org
367 + l2ot9pa02\100sneakemail.com
368 + wyp3rlx02\100sneakemail.com
369 + 0mgwtfbbq\100sneakemail.com
370 + xyey9001\100sneakemail.com
371 a.r.ferreira\100gmail.com aferreira\100shopzilla.com
372 abe\100ztreet.demon.nl abeltje\100cpan.org
373 abela\100hsc.fr abela\100geneanet.org
374 abigail\100abigail.be abigail\100foad.org
375 + abigail\100abigail.nl
377 aburt\100isis.cs.du.edu isis!aburt
378 ach\100mpe.mpg.de ach\100rosat.mpe-garching.mpg.de
379 adavies\100ptc.com alex.davies\100talktalk.net
380 ajohnson\100nvidia.com ajohnson\100wischip.com
381 + anders\100broadcom.com
382 alexm\100netli.com alexm\100w-m.ru
383 alex-p5p\100earth.li alex\100rcon.rog
384 alexmv\100mit.edu alex\100chmrr.net
385 alian\100cpan.org alian\100alianwebserver.com
386 allen\100grumman.com allen\100gateway.grumman.com
387 allen\100huarp.harvard.edu nort\100bottesini.harvard.edu
389 allens\100cpan.org easmith\100beatrice.rutgers.edu
390 + root\100dogberry.rutgers.edu
391 andreas.koenig\100anima.de andreas.koenig.gmwojprw\100franz.ak.mind.de
392 + andreas.koenig.7os6vvqr\100franz.ak.mind.de
393 + a.koenig\100mind.de
394 + k\100anna.in-berlin.de
396 + koenig\100anna.mind.de
398 + root\100ak-71.mind.de
399 + root\100ak-75.mind.de
400 + k\100sissy.in-berlin.de
401 + a.koenig\100kulturbox.de
402 + k\100sissy.in-berlin.de
403 + root\100dubravka.in-berlin.de
404 anno4000\100lublin.zrz.tu-berlin.de anno4000\100mailbox.tu-berlin.de
405 + siegel\100zrz.tu-berlin.de
406 arnold\100gnu.ai.mit.edu arnold\100emoryu2.arpa
407 + gatech!skeeve!arnold
408 arussell\100cs.uml.edu adam\100adam-pc.(none)
409 ash\100cpan.org ash_cpan\100firemirror.com
410 avarab\100gmail.com avar\100cpan.org
412 bailey\100newman.upenn.edu bailey\100hmivax.humgen.upenn.edu
413 + bailey\100genetics.upenn.edu
414 + bailey.charles\100gmail.com
415 bah\100ecnvantage.com bholzman\100longitude.com
416 barries\100slaysys.com root\100jester.slaysys.com
417 bkedryna\100home.com bart\100cg681574-a.adubn1.nj.home.com
418 bcarter\100gumdrop.flyinganvil.org q.eibcartereio.=~m-b.{6}-cgimosx\100gumdrop.flyinganvil.org
419 ben_tilly\100operamail.com btilly\100gmail.com
420 + ben_tilly\100hotmail.com
421 ben\100morrow.me.uk mauzo\100csv.warwick.ac.uk
423 bepi\100perl.it enrico.sorcinelli\100gmail.com
424 bert\100alum.mit.edu bert\100genscan.com
425 brian.d.foy\100gmail.com bdfoy\100cpan.org
426 BQW10602\100nifty.com sadahiro\100cpan.org
428 chromatic\100wgz.org chromatic\100rmci.net
429 clintp\100geeksalad.org cpierce1\100ford.com
430 clkao\100clkao.org clkao\100bestpractical.com
431 corion\100corion.net corion\100cpan.org
432 cp\100onsitetech.com publiustemp-p5p\100yahoo.com
433 + publiustemp-p5p3\100yahoo.com
434 cpan\100audreyt.org autrijus\100egb.elixus.org
435 + autrijus\100geb.elixus.org
436 + autrijus\100gmail.com
437 + autrijus\100ossf.iis.sinica.edu.tw
438 + autrijus\100autrijus.org
439 + audreyt\100audreyt.org
440 cpan\100ton.iguana.be me-01\100ton.iguana.be
441 crt\100kiski.net perl\100ctweten.amsite.com
443 dairiki\100dairiki.org dairiki at dairiki.org
444 dagolden\100cpan.org xdaveg\100gmail.com
445 damian\100conway.org damian\100cs.monash.edu.au
446 dan\100sidhe.org sugalsd\100lbcc.cc.or.us
447 + sugalskd\100osshe.edu
448 daniel\100bitpusher.com daniel\100biz.bitpusher.com
449 david.dyck\100fluke.com dcd\100tc.fluke.com
450 david\100kineticode.com david\100wheeler.com
451 + david\100wheeler.net
452 dennis\100booking.com dennis\100camel.ams6.corp.booking.com
453 dev-perl\100pimb.org knew-p5p\100pimb.org
454 djberg86\100attbi.com djberg96\100attbi.com
455 domo\100computer.org shouldbedomo\100mac.com
456 + domo\100slipper.ip.lu
458 dougm\100covalent.net dougm\100opengroup.org
460 dougw\100cpan.org doug_wilson\100intuit.com
461 dwegscheid\100qtm.net wegscd\100whirlpool.com
462 edwardp\100excitehome.net epeschko\100den-mdev1
463 + epeschko\100elmer.tci.com
465 egf7\100columbia.edu efifer\100sanwaint.com
466 eggert\100twinsun.com eggert\100sea.sm.unisys.com
468 fugazi\100zyx.net larrysh\100cpan.org
469 + lshatzer\100islanddata.com
471 gbacon\100itsc.uah.edu gbacon\100adtrn-srv4.adtran.com
472 gerberb\100zenez.com root\100devsys0.zenez.com
473 gfuji\100cpan.org g.psy.va\100gmail.com
474 gerard\100ggoossen.net gerard\100tty.nl
475 gibreel\100pobox.com stephen.zander\100interlock.mckesson.com
477 gnat\100frii.com gnat\100prometheus.frii.com
478 gp\100familiehaase.de gerrit\100familiehaase.de
479 grazz\100pobox.com grazz\100nyc.rr.com
480 gward\100ase.com greg\100bic.mni.mcgill.ca
481 hansmu\100xs4all.nl hansm\100icgroup.nl
485 + hansm\100euronet.nl
487 hio\100ymir.co.jp hio\100hio.jp
488 hops\100sco.com hops\100scoot.pdev.sco.com
490 ingo_weinhold\100gmx.de bonefish\100cs.tu-berlin.de
492 james\100mastros.biz theorb\100desert-island.me.uk
493 jand\100activestate.com jan.dubois\100ibm.net
494 japhy\100pobox.com japhy\100pobox.org
495 + japhy\100perlmonk.org
497 + jeffp\100crusoe.net
498 jari.aalto\100poboxes.com jari.aalto\100cante.net
499 jarausch\100numa1.igpm.rwth-aachen.de helmutjarausch\100unknown
500 jasons\100cs.unm.edu jasons\100sandy-home.arc.unm.edu
501 jbuehler\100hekimian.com jhpb\100hekimian.com
502 jcromie\100100divsol.com jcromie\100cpan.org
503 + jim.cromie\100gmail.com
504 jidanni\100jidanni.org jidanni\100hoffa.dreamhost.com
505 jdhedden\100cpan.org jerry\100hedden.us
506 + jdhedden\1001979.usna.com
507 + jdhedden\100gmail.com
508 + jdhedden\100yahoo.com
509 + jhedden\100pn100-02-2-356p.corp.bloomberg.com
510 jeremy\100zawodny.com jzawodn\100wcnet.org
511 jesse\100sig.bsh.com jesse\100ginger
512 jfriedl\100yahoo.com jfriedl\100yahoo-inc.com
513 jfs\100fluent.com jfs\100jfs.fluent.com
514 jhannah\100omnihotels.com jay\100jays.net
515 jjore\100cpan.org twists\100gmail.com
516 jns\100integration-house.com jns\100gellyfish.com
517 + gellyfish\100gellyfish.com
518 john\100atlantech.com john\100titanic.atlantech.com
519 john\100johnwright.org john.wright\100hp.com
520 joseph\100cscaper.com joseph\1005sigma.com
521 joshua\100rodd.us jrodd\100pbs.org
522 jtobey\100john-edwin-tobey.org jtobey\100user1.channel1.com
523 jpeacock\100rowman.com john.peacock\100havurah-software.org
524 + jpeacock\100havurah-software.org
525 + jpeacock\100dsl092-147-156.wdc1.dsl.speakeasy.net
526 + jpeacock\100jpeacock-hp.doesntexist.org
527 jql\100accessone.com jql\100jql.accessone.com
528 jsm28\100hermes.cam.ac.uk jsm28\100cam.ac.uk
530 kane\100dwim.org kane\100xs4all.net
535 ken\100mathforum.org kenahoo\100gmail.com
536 + ken.williams\100thomsonreuters.com
537 kroepke\100dolphin-services.de kay\100dolphin-services.de
538 kstar\100wolfetech.com kstar\100cpan.org
539 + kurt_starsinic\100ml.com
540 + kstar\100www.chapin.edu
541 + kstar\100chapin.edu
542 larry\100wall.org lwall\100jpl-devvax.jpl.nasa.gov
543 + lwall\100netlabs.com
544 + larry\100netlabs.com
546 + lwall\100scalpel.netlabs.com
547 laszlo.molnar\100eth.ericsson.se molnarl\100cdata.tvnet.hu
548 + ml1050\100freemail.hu
549 lewart\100uiuc.edu lewart\100vadds.cvm.uiuc.edu
550 + d-lewart\100uiuc.edu
551 lstein\100cshl.org lstein\100formaggio.cshl.org
552 + lstein\100genome.wi.mit.edu
553 lupe\100lupe-christoph.de lupe\100alanya.m.isar.de
554 lutherh\100stratcom.com lutherh\100infinet.com
555 mab\100wdl.loral.com markb\100rdcf.sm.unisys.com
556 marcel\100codewerk.com gr\100univie.ac.at
557 mark.p.lutz\100boeing.com tecmpl1\100triton.ca.boeing.com
558 marnix\100gmail.com pttesac!marnix!vanam
559 mats\100sm6sxl.net mats\100sm5sxl.net
560 mbarbon\100dsi.unive.it mattia.barbon\100libero.it
561 mcmahon\100ibiblio.org mcmahon\100metalab.unc.edu
562 me\100davidglasser.net glasser\100tang-eleven-seventy-nine.mit.edu
563 merijnb\100iloquent.nl merijnb\100ms.com
564 + merijnb\100iloquent.com
565 merlyn\100stonehenge.com merlyn\100gadget.cscaper.com
566 mgjv\100comdyn.com.au mgjv\100tradingpost.com.au
567 mlh\100swl.msd.ray.com webtools\100uewrhp03.msd.ray.com
568 michael.schroeder\100informatik.uni-erlangen.de mls\100suse.de
569 mike\100stok.co.uk mike\100exegenix.com
570 mjtg\100cam.ac.uk mjtg\100cus.cam.ac.uk
571 mikedlr\100tardis.ed.ac.uk mikedlr\100it.com.pl
572 moritz\100casella.verplant.org moritz\100faui2k3.org
575 neale\100VMA.TABNSW.COM.AU neale\100pucc.princeton.edu
576 neeracher\100mac.com neeri\100iis.ee.ethz.ch
577 neil\100bowers.com neilb\100cre.canon.co.uk
579 nospam-abuse\100bloodgate.com tels\100bloodgate.com
580 + perl_dummy\100bloodgate.com
582 ian.phillipps\100iname.com ian_phillipps\100yahoo.co.uk
583 + ian\100dial.pipex.com
584 ignasi.roca\100fujitsu-siemens.com ignasi.roca\100fujitsu.siemens.es
585 ikegami\100adaelis.com eric\100fmdev10.(none)
586 ilmari\100ilmari.org ilmari\100vesla.ilmari.org
587 illpide\100telecel.pt arbor\100al37al08.telecel.pt
588 # see http://www.nntp.perl.org/group/perl.perl5.porters/2001/01/msg28925.html
590 ilya\100math.berkeley.edu ilya\100math.ohio-state.edu
591 + nospam-abuse\100ilyaz.org
592 + [9]ilya\100math.ohio-state.edu
593 ilya\100martynov.org ilya\100juil.nonet
595 okamoto\100corp.hp.com okamoto\100hpcc123.corp.hp.com
596 orwant\100oreilly.com orwant\100media.mit.edu
598 p5-authors\100crystalflame.net perl\100crystalflame.net
599 + rs\100crystalflame.net
600 + coral\100eekeek.org
601 + coral\100moonlight.crystalflame.net
602 + rs\100oregonnet.com
603 paul.green\100stratus.com paul_greenvos\100vos.stratus.com
604 + pgreen\100seussnt.stratus.com
605 paul.marquess\100btinternet.com paul_marquess\100yahoo.co.uk
606 + paul.marquess\100ntlworld.com
607 + paul.marquess\100openwave.com
608 + pmarquess\100bfsec.bt.co.uk
610 + paul\100paul-desktop.(none)
611 Pavel.Zakouril\100mff.cuni.cz root\100egg.karlov.mff.cuni.cz
612 pcg\100goof.com schmorp\100schmorp.de
613 perl\100cadop.com cdp\100hpescdp.fc.hp.com
614 perl\100greerga.m-l.org greerga\100m-l.org
615 perl\100profvince.com vince\100profvince.com
616 perl-rt\100wizbit.be p5p\100perl.wizbit.be
617 # Maybe we should special case this to get real names out?
618 Peter.Dintelmann\100Dresdner-Bank.com peter.dintelmann\100dresdner-bank.com
619 # NOTE: There is an intentional trailing space in the line above
620 pfeifer\100wait.de pfeifer\100charly.informatik.uni-dortmund.de
622 rabbit\100rabbit.us rabbit+bugs\100rabbit.us
623 phil\100perkpartners.com phil\100finchcomputer.com
624 pimlott\100idiomtech.com andrew\100pimlott.net
625 + pimlott\100abel.math.harvard.edu
626 pixel\100mandriva.com pixel\100mandrakesoft.com
627 pne\100cpan.org philip.newton\100gmx.net
628 + philip.newton\100datenrevision.de
630 pprymmer\100factset.com pvhp\100forte.com
631 public\100khwilliamson.com khw\100karl.(none)
632 + khw\100khw-desktop.(none)
634 radu\100netsoft.ro rgreab\100fx.ro
635 raphael.manfredi\100pobox.com raphael_manfredi\100grenoble.hp.com
636 renee.baecker\100smart-websolutions.de reneeb\100reneeb-desktop.(none)
637 richard.foley\100rfi.net richard.foley\100t-online.de
638 + richard.foley\100ubs.com
639 + richard.foley\100ubsw.com
640 rick\100consumercontact.com rick\100bort.ca
641 + rick.delaney\100rogers.com
643 + rick.delaney\100home.com
644 rjbs\100cpan.org rjbs-perl-p5p\100lists.manxome.org
645 + perl.p5p\100rjbs.manxome.org
646 rjk\100linguist.dartmouth.edu rjk\100linguist.thayer.dartmouth.edu
647 + rjk-perl-p5p\100tamias.net
648 rjray\100redhat.com rjray\100uswest.com
649 rmgiroux\100acm.org rmgiroux\100hotmail.com
650 + mgiroux\100bear.com
651 rmbarker\100cpan.org rmb1\100cise.npl.co.uk
652 + robin.barker\100npl.co.uk
653 + rmb\100cise.npl.co.uk
654 robertmay\100cpan.org rob\100themayfamily.me.uk
655 roberto\100keltia.freenix.fr roberto\100eurocontrol.fr
656 robin\100cpan.org robin\100kitsite.com
657 roderick\100argon.org roderick\100gate.net
658 + roderick\100ibcinc.com
659 rootbeer\100teleport.com rootbeer\100redcat.com
660 + tomphoenix\100unknown
661 rurban\100x-ray.at rurban\100cpan.org
663 schubiger\100cpan.org steven\100accognoscere.org
664 + sts\100accognoscere.org
665 + schubiger\100gmail.com
666 schwern\100pobox.com schwern\100gmail.com
667 + schwern\100athens.arena-i.com
668 + schwern\100blackrider.aocn.com
669 + schwern\100ool-18b93024.dyn.optonline.net
670 scotth\100sgi.com author scotth\100sgi.com 842220273 +0000
672 schwab\100suse.de schwab\100issan.informatik.uni-dortmund.de
673 + schwab\100ls5.informatik.uni-dortmund.de
674 sebastien\100aperghis.net maddingue\100free.fr
676 shlomif\100vipe.technion.ac.il shlomif\100iglu.org.il
677 simon\100simon-cozens.org simon\100pembro4.pmb.ox.ac.uk
678 + simon\100brecon.co.uk
679 + simon\100othersideofthe.earth.li
680 + simon\100cozens.net
681 + simon\100netthink.co.uk
682 slaven\100rezic.de slaven.rezic\100berlin.de
683 + srezic\100iconmobile.com
685 + eserte\100cs.tu-berlin.de
686 + eserte\100vran.herceg.de
687 smcc\100mit.edu smcc\100ocf.berkeley.edu
688 + smcc\100csua.berkeley.edu
690 + smccam\100uclink4.berkeley.edu
691 spider\100orb.nashua.nh.us spider\100web.zk3.dec.com
692 + spider\100leggy.zk3.dec.com
693 + spider-perl\100orb.nashua.nh.us
694 + spider\100peano.zk3.dec.com
695 + spider.boardman\100orb.nashua.nh.us>
697 + spider.boardman\100orb.nashua.nh.us
698 + root\100peano.zk3.dec.com
699 spp\100ds.net spp\100psa.pencom.com
700 + spp\100psasolar.colltech.com
701 + spp\100spotter.yi.org
702 stef\100mongueurs.net stef\100payrard.net
703 + s.payrard\100wanadoo.fr
704 + properler\100freesurf.fr
705 + stef\100francenet.fr
706 sthoenna\100efn.org ysth\100raven.shiftboard.com
708 tassilo.parseval\100post.rwth-aachen.de tassilo.von.parseval\100rwth-aachen.de
709 tchrist\100perl.com tchrist\100mox.perl.com
710 + tchrist\100jhereg.perl.com
711 thomas.dorner\100start.de tdorner\100amadeus.net
712 tjenness\100cpan.org t.jenness\100jach.hawaii.edu
713 + timj\100jach.hawaii.edu
714 tobez\100tobez.org tobez\100plab.ku.dk
715 tom\100compton.nu thh\100cyberscience.com
716 tom.horsley\100mail.ccur.com tom.horsley\100ccur.com
717 + tom\100amber.ssd.hcsc.com
719 vkonovalov\100lucent.com vkonovalov\100peterstar.ru
720 + konovalo\100mail.wplus.net
721 + vadim\100vkonovalov.ru
722 + vkonovalov\100spb.lucent.com
723 + vkonovalov\100alcatel-lucent.com
725 whatever\100davidnicol.com davidnicol\100gmail.com
726 wolfgang.laun\100alcatel.at wolfgang.laun\100chello.at
727 + wolfgang.laun\100thalesgroup.com
728 + wolfgang.laun\100gmail.com
729 yath\100yath.de yath-perlbug\100yath.de