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 stevehay\100planit.com
348 + steve.hay\100uk.radan.com
349 stevep steve\100fisharerojo.org
350 + steve.peters\100gmail.com
351 + root\100dixie.cscaper.com
352 timb Tim.Bunce\100pobox.com
353 + tim.bunce\100ig.co.uk
359 \043####\100juerd.nl juerd\100cpan.org
360 + juerd\100convolution.nl
361 7k8lrvf02\100sneakemail.com kjx9zthh3001\100sneakemail.com
362 + dtr8sin02\100sneakemail.com
363 + rt8363b02\100sneakemail.com
364 + o6hhmk002\100sneakemail.com
365 + smueller\100cpan.org
366 + l2ot9pa02\100sneakemail.com
367 + wyp3rlx02\100sneakemail.com
368 + 0mgwtfbbq\100sneakemail.com
369 + xyey9001\100sneakemail.com
370 a.r.ferreira\100gmail.com aferreira\100shopzilla.com
371 abe\100ztreet.demon.nl abeltje\100cpan.org
372 abela\100hsc.fr abela\100geneanet.org
373 abigail\100abigail.be abigail\100foad.org
374 + abigail\100abigail.nl
376 aburt\100isis.cs.du.edu isis!aburt
377 ach\100mpe.mpg.de ach\100rosat.mpe-garching.mpg.de
378 adavies\100ptc.com alex.davies\100talktalk.net
379 ajohnson\100nvidia.com ajohnson\100wischip.com
380 + anders\100broadcom.com
381 alexm\100netli.com alexm\100w-m.ru
382 alex-p5p\100earth.li alex\100rcon.rog
383 alexmv\100mit.edu alex\100chmrr.net
384 alian\100cpan.org alian\100alianwebserver.com
385 allen\100grumman.com allen\100gateway.grumman.com
386 allen\100huarp.harvard.edu nort\100bottesini.harvard.edu
388 allens\100cpan.org easmith\100beatrice.rutgers.edu
389 + root\100dogberry.rutgers.edu
390 andreas.koenig\100anima.de andreas.koenig.gmwojprw\100franz.ak.mind.de
391 + andreas.koenig.7os6vvqr\100franz.ak.mind.de
392 + a.koenig\100mind.de
393 + k\100anna.in-berlin.de
395 + koenig\100anna.mind.de
397 + root\100ak-71.mind.de
398 + root\100ak-75.mind.de
399 + k\100sissy.in-berlin.de
400 + a.koenig\100kulturbox.de
401 + k\100sissy.in-berlin.de
402 + root\100dubravka.in-berlin.de
403 anno4000\100lublin.zrz.tu-berlin.de anno4000\100mailbox.tu-berlin.de
404 + siegel\100zrz.tu-berlin.de
405 arnold\100gnu.ai.mit.edu arnold\100emoryu2.arpa
406 + gatech!skeeve!arnold
407 arussell\100cs.uml.edu adam\100adam-pc.(none)
408 ash\100cpan.org ash_cpan\100firemirror.com
409 avarab\100gmail.com avar\100cpan.org
411 bailey\100newman.upenn.edu bailey\100hmivax.humgen.upenn.edu
412 + bailey\100genetics.upenn.edu
413 + bailey.charles\100gmail.com
414 bah\100ecnvantage.com bholzman\100longitude.com
415 barries\100slaysys.com root\100jester.slaysys.com
416 bkedryna\100home.com bart\100cg681574-a.adubn1.nj.home.com
417 bcarter\100gumdrop.flyinganvil.org q.eibcartereio.=~m-b.{6}-cgimosx\100gumdrop.flyinganvil.org
418 ben_tilly\100operamail.com btilly\100gmail.com
419 + ben_tilly\100hotmail.com
420 ben\100morrow.me.uk mauzo\100csv.warwick.ac.uk
422 bepi\100perl.it enrico.sorcinelli\100gmail.com
423 bert\100alum.mit.edu bert\100genscan.com
424 brian.d.foy\100gmail.com bdfoy\100cpan.org
425 BQW10602\100nifty.com sadahiro\100cpan.org
427 chromatic\100wgz.org chromatic\100rmci.net
428 clintp\100geeksalad.org cpierce1\100ford.com
429 clkao\100clkao.org clkao\100bestpractical.com
430 corion\100corion.net corion\100cpan.org
431 cp\100onsitetech.com publiustemp-p5p\100yahoo.com
432 + publiustemp-p5p3\100yahoo.com
433 cpan\100audreyt.org autrijus\100egb.elixus.org
434 + autrijus\100geb.elixus.org
435 + autrijus\100gmail.com
436 + autrijus\100ossf.iis.sinica.edu.tw
437 + autrijus\100autrijus.org
438 + audreyt\100audreyt.org
439 cpan\100ton.iguana.be me-01\100ton.iguana.be
440 crt\100kiski.net perl\100ctweten.amsite.com
442 dairiki\100dairiki.org dairiki at dairiki.org
443 dagolden\100cpan.org xdaveg\100gmail.com
444 damian\100conway.org damian\100cs.monash.edu.au
445 dan\100sidhe.org sugalsd\100lbcc.cc.or.us
446 + sugalskd\100osshe.edu
447 daniel\100bitpusher.com daniel\100biz.bitpusher.com
448 david.dyck\100fluke.com dcd\100tc.fluke.com
449 david\100kineticode.com david\100wheeler.com
450 + david\100wheeler.net
451 dennis\100booking.com dennis\100camel.ams6.corp.booking.com
452 dev-perl\100pimb.org knew-p5p\100pimb.org
453 djberg86\100attbi.com djberg96\100attbi.com
454 domo\100computer.org shouldbedomo\100mac.com
455 + domo\100slipper.ip.lu
457 dougm\100covalent.net dougm\100opengroup.org
459 dougw\100cpan.org doug_wilson\100intuit.com
460 dwegscheid\100qtm.net wegscd\100whirlpool.com
461 edwardp\100excitehome.net epeschko\100den-mdev1
462 + epeschko\100elmer.tci.com
464 egf7\100columbia.edu efifer\100sanwaint.com
465 eggert\100twinsun.com eggert\100sea.sm.unisys.com
467 fugazi\100zyx.net larrysh\100cpan.org
468 + lshatzer\100islanddata.com
470 gbacon\100itsc.uah.edu gbacon\100adtrn-srv4.adtran.com
471 gerberb\100zenez.com root\100devsys0.zenez.com
472 gfuji\100cpan.org g.psy.va\100gmail.com
473 gerard\100ggoossen.net gerard\100tty.nl
474 gibreel\100pobox.com stephen.zander\100interlock.mckesson.com
476 gnat\100frii.com gnat\100prometheus.frii.com
477 gp\100familiehaase.de gerrit\100familiehaase.de
478 grazz\100pobox.com grazz\100nyc.rr.com
479 gward\100ase.com greg\100bic.mni.mcgill.ca
480 hansmu\100xs4all.nl hansm\100icgroup.nl
484 + hansm\100euronet.nl
486 hio\100ymir.co.jp hio\100hio.jp
487 hops\100sco.com hops\100scoot.pdev.sco.com
489 ingo_weinhold\100gmx.de bonefish\100cs.tu-berlin.de
491 james\100mastros.biz theorb\100desert-island.me.uk
492 jand\100activestate.com jan.dubois\100ibm.net
493 japhy\100pobox.com japhy\100pobox.org
494 + japhy\100perlmonk.org
496 + jeffp\100crusoe.net
497 jari.aalto\100poboxes.com jari.aalto\100cante.net
498 jarausch\100numa1.igpm.rwth-aachen.de helmutjarausch\100unknown
499 jasons\100cs.unm.edu jasons\100sandy-home.arc.unm.edu
500 jbuehler\100hekimian.com jhpb\100hekimian.com
501 jcromie\100100divsol.com jcromie\100cpan.org
502 + jim.cromie\100gmail.com
503 jidanni\100jidanni.org jidanni\100hoffa.dreamhost.com
504 jdhedden\100cpan.org jerry\100hedden.us
505 + jdhedden\1001979.usna.com
506 + jdhedden\100gmail.com
507 + jdhedden\100yahoo.com
508 + jhedden\100pn100-02-2-356p.corp.bloomberg.com
509 jeremy\100zawodny.com jzawodn\100wcnet.org
510 jesse\100sig.bsh.com jesse\100ginger
511 jfriedl\100yahoo.com jfriedl\100yahoo-inc.com
512 jfs\100fluent.com jfs\100jfs.fluent.com
513 jhannah\100omnihotels.com jay\100jays.net
514 jjore\100cpan.org twists\100gmail.com
515 jns\100integration-house.com jns\100gellyfish.com
516 + gellyfish\100gellyfish.com
517 john\100atlantech.com john\100titanic.atlantech.com
518 john\100johnwright.org john.wright\100hp.com
519 joseph\100cscaper.com joseph\1005sigma.com
520 joshua\100rodd.us jrodd\100pbs.org
521 jtobey\100john-edwin-tobey.org jtobey\100user1.channel1.com
522 jpeacock\100rowman.com john.peacock\100havurah-software.org
523 + jpeacock\100havurah-software.org
524 + jpeacock\100dsl092-147-156.wdc1.dsl.speakeasy.net
525 jql\100accessone.com jql\100jql.accessone.com
526 jsm28\100hermes.cam.ac.uk jsm28\100cam.ac.uk
528 kane\100dwim.org kane\100xs4all.net
533 ken\100mathforum.org kenahoo\100gmail.com
534 + ken.williams\100thomsonreuters.com
535 kroepke\100dolphin-services.de kay\100dolphin-services.de
536 kstar\100wolfetech.com kstar\100cpan.org
537 + kurt_starsinic\100ml.com
538 + kstar\100www.chapin.edu
539 + kstar\100chapin.edu
540 larry\100wall.org lwall\100jpl-devvax.jpl.nasa.gov
541 + lwall\100netlabs.com
542 + larry\100netlabs.com
544 + lwall\100scalpel.netlabs.com
545 laszlo.molnar\100eth.ericsson.se molnarl\100cdata.tvnet.hu
546 + ml1050\100freemail.hu
547 lewart\100uiuc.edu lewart\100vadds.cvm.uiuc.edu
548 + d-lewart\100uiuc.edu
549 lstein\100cshl.org lstein\100formaggio.cshl.org
550 + lstein\100genome.wi.mit.edu
551 lupe\100lupe-christoph.de lupe\100alanya.m.isar.de
552 lutherh\100stratcom.com lutherh\100infinet.com
553 mab\100wdl.loral.com markb\100rdcf.sm.unisys.com
554 marcel\100codewerk.com gr\100univie.ac.at
555 mark.p.lutz\100boeing.com tecmpl1\100triton.ca.boeing.com
556 marnix\100gmail.com pttesac!marnix!vanam
557 mats\100sm6sxl.net mats\100sm5sxl.net
558 mbarbon\100dsi.unive.it mattia.barbon\100libero.it
559 mcmahon\100ibiblio.org mcmahon\100metalab.unc.edu
560 me\100davidglasser.net glasser\100tang-eleven-seventy-nine.mit.edu
561 merijnb\100iloquent.nl merijnb\100ms.com
562 + merijnb\100iloquent.com
563 merlyn\100stonehenge.com merlyn\100gadget.cscaper.com
564 mgjv\100comdyn.com.au mgjv\100tradingpost.com.au
565 mlh\100swl.msd.ray.com webtools\100uewrhp03.msd.ray.com
566 michael.schroeder\100informatik.uni-erlangen.de mls\100suse.de
567 mike\100stok.co.uk mike\100exegenix.com
568 mjtg\100cam.ac.uk mjtg\100cus.cam.ac.uk
569 mikedlr\100tardis.ed.ac.uk mikedlr\100it.com.pl
570 moritz\100casella.verplant.org moritz\100faui2k3.org
573 neale\100VMA.TABNSW.COM.AU neale\100pucc.princeton.edu
574 neeracher\100mac.com neeri\100iis.ee.ethz.ch
575 neil\100bowers.com neilb\100cre.canon.co.uk
577 nospam-abuse\100bloodgate.com tels\100bloodgate.com
578 + perl_dummy\100bloodgate.com
580 ian.phillipps\100iname.com ian_phillipps\100yahoo.co.uk
581 + ian\100dial.pipex.com
582 ignasi.roca\100fujitsu-siemens.com ignasi.roca\100fujitsu.siemens.es
583 ikegami\100adaelis.com eric\100fmdev10.(none)
584 ilmari\100ilmari.org ilmari\100vesla.ilmari.org
585 illpide\100telecel.pt arbor\100al37al08.telecel.pt
586 # see http://www.nntp.perl.org/group/perl.perl5.porters/2001/01/msg28925.html
588 ilya\100math.berkeley.edu ilya\100math.ohio-state.edu
589 + nospam-abuse\100ilyaz.org
590 + [9]ilya\100math.ohio-state.edu
591 ilya\100martynov.org ilya\100juil.nonet
593 okamoto\100corp.hp.com okamoto\100hpcc123.corp.hp.com
594 orwant\100oreilly.com orwant\100media.mit.edu
596 p5-authors\100crystalflame.net perl\100crystalflame.net
597 + rs\100crystalflame.net
598 + coral\100eekeek.org
599 + coral\100moonlight.crystalflame.net
600 + rs\100oregonnet.com
601 paul.green\100stratus.com paul_greenvos\100vos.stratus.com
602 + pgreen\100seussnt.stratus.com
603 paul.marquess\100btinternet.com paul_marquess\100yahoo.co.uk
604 + paul.marquess\100ntlworld.com
605 + paul.marquess\100openwave.com
606 + pmarquess\100bfsec.bt.co.uk
608 + paul\100paul-desktop.(none)
609 Pavel.Zakouril\100mff.cuni.cz root\100egg.karlov.mff.cuni.cz
610 pcg\100goof.com schmorp\100schmorp.de
611 perl\100cadop.com cdp\100hpescdp.fc.hp.com
612 perl\100greerga.m-l.org greerga\100m-l.org
613 perl\100profvince.com vince\100profvince.com
614 perl-rt\100wizbit.be p5p\100perl.wizbit.be
615 # Maybe we should special case this to get real names out?
616 Peter.Dintelmann\100Dresdner-Bank.com peter.dintelmann\100dresdner-bank.com
617 # NOTE: There is an intentional trailing space in the line above
618 pfeifer\100wait.de pfeifer\100charly.informatik.uni-dortmund.de
620 rabbit\100rabbit.us rabbit+bugs\100rabbit.us
621 phil\100perkpartners.com phil\100finchcomputer.com
622 pimlott\100idiomtech.com andrew\100pimlott.net
623 + pimlott\100abel.math.harvard.edu
624 pixel\100mandriva.com pixel\100mandrakesoft.com
625 pne\100cpan.org philip.newton\100gmx.net
626 + philip.newton\100datenrevision.de
628 pprymmer\100factset.com pvhp\100forte.com
629 public\100khwilliamson.com khw\100karl.(none)
630 + khw\100khw-desktop.(none)
632 radu\100netsoft.ro rgreab\100fx.ro
633 raphael.manfredi\100pobox.com raphael_manfredi\100grenoble.hp.com
634 renee.baecker\100smart-websolutions.de reneeb\100reneeb-desktop.(none)
635 richard.foley\100rfi.net richard.foley\100t-online.de
636 + richard.foley\100ubs.com
637 + richard.foley\100ubsw.com
638 rick\100consumercontact.com rick\100bort.ca
639 + rick.delaney\100rogers.com
641 + rick.delaney\100home.com
642 rjbs\100cpan.org rjbs-perl-p5p\100lists.manxome.org
643 + perl.p5p\100rjbs.manxome.org
644 rjk\100linguist.dartmouth.edu rjk\100linguist.thayer.dartmouth.edu
645 + rjk-perl-p5p\100tamias.net
646 rjray\100redhat.com rjray\100uswest.com
647 rmgiroux\100acm.org rmgiroux\100hotmail.com
648 + mgiroux\100bear.com
649 rmbarker\100cpan.org rmb1\100cise.npl.co.uk
650 + robin.barker\100npl.co.uk
651 + rmb\100cise.npl.co.uk
652 robertmay\100cpan.org rob\100themayfamily.me.uk
653 roberto\100keltia.freenix.fr roberto\100eurocontrol.fr
654 robin\100cpan.org robin\100kitsite.com
655 roderick\100argon.org roderick\100gate.net
656 + roderick\100ibcinc.com
657 rootbeer\100teleport.com rootbeer\100redcat.com
658 + tomphoenix\100unknown
659 rurban\100x-ray.at rurban\100cpan.org
661 schubiger\100cpan.org steven\100accognoscere.org
662 + sts\100accognoscere.org
663 + schubiger\100gmail.com
664 schwern\100pobox.com schwern\100gmail.com
665 + schwern\100athens.arena-i.com
666 + schwern\100blackrider.aocn.com
667 + schwern\100ool-18b93024.dyn.optonline.net
668 scotth\100sgi.com author scotth\100sgi.com 842220273 +0000
670 schwab\100suse.de schwab\100issan.informatik.uni-dortmund.de
671 + schwab\100ls5.informatik.uni-dortmund.de
672 sebastien\100aperghis.net maddingue\100free.fr
674 shlomif\100vipe.technion.ac.il shlomif\100iglu.org.il
675 simon\100simon-cozens.org simon\100pembro4.pmb.ox.ac.uk
676 + simon\100brecon.co.uk
677 + simon\100othersideofthe.earth.li
678 + simon\100cozens.net
679 + simon\100netthink.co.uk
680 slaven\100rezic.de slaven.rezic\100berlin.de
681 + srezic\100iconmobile.com
683 + eserte\100cs.tu-berlin.de
684 + eserte\100vran.herceg.de
685 smcc\100mit.edu smcc\100ocf.berkeley.edu
686 + smcc\100csua.berkeley.edu
688 + smccam\100uclink4.berkeley.edu
689 spider\100orb.nashua.nh.us spider\100web.zk3.dec.com
690 + spider\100leggy.zk3.dec.com
691 + spider-perl\100orb.nashua.nh.us
692 + spider\100peano.zk3.dec.com
693 + spider.boardman\100orb.nashua.nh.us>
695 + spider.boardman\100orb.nashua.nh.us
696 + root\100peano.zk3.dec.com
697 spp\100ds.net spp\100psa.pencom.com
698 + spp\100psasolar.colltech.com
699 + spp\100spotter.yi.org
700 stef\100mongueurs.net stef\100payrard.net
701 + s.payrard\100wanadoo.fr
702 + properler\100freesurf.fr
703 + stef\100francenet.fr
704 sthoenna\100efn.org ysth\100raven.shiftboard.com
706 tassilo.parseval\100post.rwth-aachen.de tassilo.von.parseval\100rwth-aachen.de
707 tchrist\100perl.com tchrist\100mox.perl.com
708 + tchrist\100jhereg.perl.com
709 thomas.dorner\100start.de tdorner\100amadeus.net
710 tjenness\100cpan.org t.jenness\100jach.hawaii.edu
711 + timj\100jach.hawaii.edu
712 tobez\100tobez.org tobez\100plab.ku.dk
713 tom\100compton.nu thh\100cyberscience.com
714 tom.horsley\100mail.ccur.com tom.horsley\100ccur.com
715 + tom\100amber.ssd.hcsc.com
717 vkonovalov\100lucent.com vkonovalov\100peterstar.ru
718 + konovalo\100mail.wplus.net
719 + vadim\100vkonovalov.ru
720 + vkonovalov\100spb.lucent.com
721 + vkonovalov\100alcatel-lucent.com
723 whatever\100davidnicol.com davidnicol\100gmail.com
724 wolfgang.laun\100alcatel.at wolfgang.laun\100chello.at
725 + wolfgang.laun\100thalesgroup.com
726 + wolfgang.laun\100gmail.com
727 yath\100yath.de yath-perlbug\100yath.de