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 "agrow\100thegotonerd.com",
50 "alexander_bluhm\100genua.de",
51 "alexander_gernler\100genua.de",
52 "ammon\100rhythm.com",
53 "andrew\100sundale.net",
54 "bah\100longitude.com",
55 "bbucklan\100jpl-devvax.jpl.nasa.gov",
56 "ben\100linuxgazette.net",
58 "blino\100mandriva.com",
59 "bob\100starlabs.net",
60 "bonefish\100cs.tu-berlin.de",
61 "bstrand\100switchmanagement.com",
62 "cygwin\100cygwin.com",
63 "david\100dhaller.de",
64 "dformosa\100dformosa.zeta.org.au",
66 "erik\100cs.uni-jena.de",
67 "glasser\100tang-eleven-seventy-nine.mit.edu",
68 "gml4410\100ggr.co.uk",
69 "grommel\100sears.com",
70 "ilmari\100vesla.ilmari.org",
72 "info\100lingo.kiev.ua",
73 "jms\100mathras.comcast.net",
76 "kaminsky\100math.huji.ac.il",
77 "knew-p5p\100pimb.org",
79 "lemkemch\100t-online.de",
80 "mauzo\100csv.warwick.ac.uk",
81 "mlelstv\100serpens.de",
84 "pancho\100pancho.name",
85 "perlbug\100veggiechinese.net",
87 "premchai21\100yahoo.com",
89 "raf\100tradingpost.com.au",
90 "scott\100perlcode.org",
91 "smoketst\100hp46t243.cup.hp.com",
92 "yath-perlbug\100yath.de",
96 # Email addresses for people that don't have an email address in AUTHORS
97 # Presumably deliberately?
101 # Nick Ing-Simmons has passed away (2006-09-25).
102 "nick\100ing-simmons.net",
103 "nik\100tiuk.ti.com",
104 "nick.ing-simmons\100elixent.com",
105 "nick\100ni-s.u-net.com",
106 "nick.ing-simmons\100tiuk.ti.com",
108 # Iain Truskett has passed away (2003-12-29).
109 "perl\100dellah.anu.edu.au",
110 "spoon\100dellah.org",
114 "me-02\100ton.iguana.be",
115 "perl-5.8.0\100ton.iguana.be",
116 "perl5-porters\100ton.iguana.be",
119 "beau\100beaucox.com",
122 "ml-perl\100thepierianspring.org",
124 # perl internal addresses
125 "perl5-porters\100africa.nicoh.com",
126 "perlbug\100perl.org",,
127 "perl5-porters.nicoh.com",
128 "perlbug-followup\100perl.org",
129 "perlbug-comment\100perl.org",
130 "bug-module-corelist\100rt.cpan.org",
131 "bug-storable\100rt.cpan.org",
132 "bugs-perl5\100bugs6.perl.org",
134 "unknown\100unknown",
135 "unknown\100perl.org",
143 foreach my $filename (@authors) {
144 open FH, "<$filename" or die "Can't open $filename: $!";
151 } elsif (/^([-A-Za-z0-9 .\'À-ÖØöø-ÿ]+)[\t\n]/) {
156 warn "Can't parse line '$_'";
160 foreach (keys %raw) {
161 print "E-mail $_ occurs $raw{$_} times\n" if $raw{$_} > 1;
163 $authors{$map{$_} || $_}++;
169 my @lines = split(/^commit\s*/sm,join('',<>));
172 next if m/^(\S*?)^Merge:/ism; # skip merge commits
173 if (m/^(.*?)^Author:\s*(.*?)^Date:\s*(.*?)^(.*)$/gism) {
175 ($patch, $committer, $date,$log) = ($1,$2,$3,$4);
177 unless ($committer) { die $_}
178 &process ($committer, $patch, $log);
179 } else { die "XXX $_ did not match";}
184 &display_ordered(\%patchers);
186 &display_ordered(\%committers);
189 foreach (sort keys %patchers) {
190 next if $authors{$_};
191 # Sort by number of patches, then name.
192 $missing{$patchers{$_}}->{$_}++;
194 foreach my $patches (sort {$b <=> $a} keys %missing) {
195 print "\n\n=head1 $patches patch(es)\n\n";
196 foreach my $author (sort keys %{$missing{$patches}}) {
197 my $xauthor = $author;
198 $xauthor =~ s/@/\\100/g; # xxx temp hack
199 print "".($real_names{$author}||$author) ."\t\t\t<" . $xauthor.">\n" ;
204 sub display_ordered {
208 while (my ($name, $count) = each %$what) {
209 push @{$sorted[$count]}, $name;
214 return unless @sorted;
216 foreach my $i ($reverse ? 0 .. $#sorted : reverse 0 .. $#sorted) {
217 next unless $sorted[$i];
219 $sum += $i * @{$sorted[$i]};
220 # Value to display is either this one, or the cumulative sum.
221 my $value = $cumulative ? $sum : $i;
223 $prefix = sprintf "%6.2f:\t", 100 * $value / $total;
225 $prefix = "$value:\t";
227 print wrap ($prefix, "\t", join (" ", sort @{$sorted[$i]}), "\n");
232 my ($committer, $patch, $log) = @_;
233 return unless $committer;
234 my @authors = $log =~ /From:\s+.*?([^"\@ \t\n<>]+\@[^"\@ \t\n<>]+)/gm;
237 foreach my $addr (@authors) {
239 $patchers{_raw_address($addr)}++;
241 # print "$patch: @authors\n";
242 $committers{_raw_address($committer)}++;
244 # print "$patch: $committer\n";
245 # Not entirely fair as this means that the maint pumpking scores for
246 # everything intergrated that wasn't a third party patch in blead
247 $patchers{_raw_address($committer)}++;
254 if ($addr =~ /<.*>/) {
255 $addr =~ s/^\s*(.*)\s*<\s*(.*?)\s*>.*$/$2/ ;
259 $addr = $map{$addr} || $addr;
261 if ($real_name) { $real_names{$addr} = $real_name};
269 # List of mappings. First entry the "correct" email address, as appears
270 # in the AUTHORS file. Second is any "alias" mapped to it.
272 # If the "correct" email address is a '+', the entry above is reused;
273 # this for addresses with more than one alias.
275 # Note that all entries are in lowercase. Further, no '@' signs should
276 # appear; use \100 instead.
281 adi enache\100rdslink.ro
282 alanbur alan.burlison\100sun.com
283 + alan.burlison\100uk.sun.com
284 + aburlison\100cix.compulink.co.uk
285 ams ams\100toroid.org
287 chip chip\100pobox.com
289 + salzench\100nielsenmedia.com
290 + chip\100atlantic.net
291 + chip\100rio.atlantic.net
292 + salzench\100dun.nielsen.com
293 craigb craig.berry\100psinetcs.com
294 + craig.berry\100metamorgs.com
295 + craig.berry\100signaltreesolutions.com
296 + craigberry\100mac.com
297 + craig.a.berry\100gmail.com
299 davem davem\100fdgroup.com
300 + davem\100iabyn.nospamdeletethisbit.com
302 + davem\100fdgroup.co.uk
303 + davem\100fdisolutions.com
305 demerphq demerphq\100gmail.com
306 + yves.orton\100de.mci.com
307 + yves.orton\100mciworldcom.de
308 + demerphq\100dromedary.booking.com
309 + demerphq\100gemini.(none)
310 + demerphq\100camel.booking.com
311 + demerphq\100hotmail.com
312 doughera doughera\100lafayette.edu
313 + doughera\100lafcol.lafayette.edu
314 + doughera\100fractal.phys.lafayette.edu
315 + doughera.lafayette.edu
316 + doughera\100newton.phys.lafayette.edu
318 gbarr gbarr\100pobox.com
319 + bodg\100tiuk.ti.com
321 + graham.barr\100tiuk.ti.com
322 + gbarr\100monty.mutatus.co.uk
323 gisle gisle\100activestate.com
326 + aas\100bergen.sn.no
327 gsar gsar\100activestate.com
329 + gsar\100engin.umich.edu
330 hv hv\100crypt.compulink.co.uk
334 + jhietaniemi\100gmail.com
336 + jhi\100alpha.hut.fi
339 + jarkko.hietaniemi\100nokia.com
340 + jarkko.hietaniemi\100cc.hut.fi
341 jesse jesse\100bestpractical.com
344 merijn h.m.brand\100xs4all.nl
345 + h.m.brand\100hccnet.nl
346 + merijn\100l1.procura.nl
347 + merijn\100a5.(none)
349 + merijnb\100iloquent.nl
350 + merijnb\100iloquent.com
351 mhx mhx-perl\100gmx.net
353 nicholas nick\100unfortu.net
355 + nick\100talking.bollo.cx
356 + nick\100plum.flirble.org
357 + nick\100babyhippo.co.uk
358 + nick\100bagpuss.unfortu.net
359 + Nicholas Clark (sans From field in mail header)
360 pudge pudge\100pobox.com
361 rgs rgarciasuarez\100free.fr
362 + rgarciasuarez\100mandrakesoft.com
363 + rgarciasuarez\100mandriva.com
364 + rgarciasuarez\100gmail.com
365 + raphel.garcia-suarez\100hexaflux.com
366 sky sky\100nanisky.com
367 + artur\100contiller.se
368 + arthur\100contiller.se
369 steveh stevehay\100planit.com
370 + steve.hay\100uk.radan.com
371 stevep steve\100fisharerojo.org
372 + steve.peters\100gmail.com
373 timb Tim.Bunce\100pobox.com
374 + tim.bunce\100ig.co.uk
380 \043####\100juerd.nl juerd\100cpan.org
381 + juerd\100convolution.nl
382 7k8lrvf02\100sneakemail.com kjx9zthh3001\100sneakemail.com
383 + dtr8sin02\100sneakemail.com
384 + rt8363b02\100sneakemail.com
385 + o6hhmk002\100sneakemail.com
386 + smueller\100cpan.org
387 + l2ot9pa02\100sneakemail.com
388 + wyp3rlx02\100sneakemail.com
389 + 0mgwtfbbq\100sneakemail.com
391 a.r.ferreira\100gmail.com aferreira\100shopzilla.com
392 abe\100ztreet.demon.nl abeltje\100cpan.org
393 abela\100hsc.fr abela\100geneanet.org
394 abigail\100abigail.be abigail\100foad.org
395 + abigail\100abigail.nl
397 aburt\100isis.cs.du.edu isis!aburt
398 ach\100mpe.mpg.de ach\100rosat.mpe-garching.mpg.de
399 adavies\100ptc.com alex.davies\100talktalk.net
400 ajohnson\100nvidia.com ajohnson\100wischip.com
401 alexm\100netli.com alexm\100w-m.ru
402 alex-p5p\100earth.li alex\100rcon.rog
403 alexmv\100mit.edu alex\100chmrr.net
404 alian\100cpan.org alian\100alianwebserver.com
405 allen\100grumman.com allen\100gateway.grumman.com
406 allen\100huarp.harvard.edu nort\100bottesini.harvard.edu
408 allens\100cpan.org easmith\100beatrice.rutgers.edu
409 andreas.koenig\100anima.de andreas.koenig.gmwojprw\100franz.ak.mind.de
410 + andreas.koenig.7os6vvqr\100franz.ak.mind.de
411 + a.koenig\100mind.de
412 + k\100anna.in-berlin.de
414 + koenig\100anna.mind.de
416 + root\100ak-71.mind.de
417 + root\100ak-75.mind.de
418 + k\100sissy.in-berlin.de
419 + a.koenig\100kulturbox.de
420 + k\100sissy.in-berlin.de
421 anno4000\100lublin.zrz.tu-berlin.de anno4000\100mailbox.tu-berlin.de
422 + siegel\100zrz.tu-berlin.de
423 arnold\100gnu.ai.mit.edu arnold\100emoryu2.arpa
424 + gatech!skeeve!arnold
425 ash\100cpan.org ash_cpan\100firemirror.com
426 avarab\100gmail.com avar\100cpan.org
428 bailey\100newman.upenn.edu bailey\100hmivax.humgen.upenn.edu
429 + bailey\100genetics.upenn.edu
430 + bailey.charles\100gmail.com
431 bah\100ecnvantage.com bholzman\100longitude.com
432 bcarter\100gumdrop.flyinganvil.org q.eibcartereio.=~m-b.{6}-cgimosx\100gumdrop.flyinganvil.org
433 ben_tilly\100operamail.com btilly\100gmail.com
434 + ben_tilly\100hotmail.com
435 ben\100morrow.me.uk mauzo\100csv.warwick.ac.uk
437 BQW10602\100nifty.com sadahiro\100cpan.org
439 chromatic\100wgz.org chromatic\100rmci.net
440 clintp\100geeksalad.org cpierce1\100ford.com
441 clkao\100clkao.org clkao\100bestpractical.com
442 corion\100corion.net corion\100cpan.org
443 cp\100onsitetech.com publiustemp-p5p\100yahoo.com
444 + publiustemp-p5p3\100yahoo.com
445 cpan\100audreyt.org autrijus\100egb.elixus.org
446 + autrijus\100geb.elixus.org
447 + autrijus\100gmail.com
448 + autrijus\100ossf.iis.sinica.edu.tw
449 + autrijus\100autrijus.org
450 + audreyt\100audreyt.org
451 crt\100kiski.net perl\100ctweten.amsite.com
453 damian\100conway.org damian\100cs.monash.edu.au
454 dagolden\100cpan.org xdaveg\100gmail.com
455 dan\100sidhe.org sugalsd\100lbcc.cc.or.us
456 + sugalskd\100osshe.edu
457 david.dyck\100fluke.com dcd\100tc.fluke.com
458 david\100kineticode.com david\100wheeler.com
459 + david\100wheeler.net
460 djberg86\100attbi.com djberg96\100attbi.com
461 domo\100computer.org shouldbedomo\100mac.com
462 + domo\100slipper.ip.lu
464 dougm\100covalent.net dougm\100opengroup.org
466 dougw\100cpan.org doug_wilson\100intuit.com
468 egf7\100columbia.edu efifer\100sanwaint.com
469 eggert\100twinsun.com eggert\100sea.sm.unisys.com
470 epeschko\100den-mdev1 esp5\100pge.com
472 fugazi\100zyx.net larrysh\100cpan.org
473 + lshatzer\100islanddata.com
475 gbacon\100itsc.uah.edu gbacon\100adtrn-srv4.adtran.com
476 gfuji\100cpan.org g.psy.va\100gmail.com
477 gibreel\100pobox.com stephen.zander\100interlock.mckesson.com
479 gnat\100frii.com gnat\100prometheus.frii.com
480 gp\100familiehaase.de gerrit\100familiehaase.de
481 grazz\100pobox.com grazz\100nyc.rr.com
482 gward\100ase.com greg\100bic.mni.mcgill.ca
483 hansmu\100xs4all.nl hansm\100icgroup.nl
487 + hansm\100euronet.nl
488 hio\100ymir.co.jp hio\100hio.jp
489 hops\100sco.com hops\100scoot.pdev.sco.com
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 jcromie\100divsol.com jcromie\100cpan.org
499 + jim.cromie\100gmail.com
500 jidanni\100jidanni.org jidanni\100hoffa.dreamhost.com
501 jdhedden\100cpan.org jerry\100hedden.us
502 + jdhedden\1001979.usna.com
503 + jdhedden\100gmail.com
504 + jdhedden\100yahoo.com
505 + jhedden\100pn100-02-2-356p.corp.bloomberg.com
506 jeremy\100zawodny.com jzawodn\100wcnet.org
507 jesse\100sig.bsh.com jesse\100ginger
508 jfriedl\100yahoo.com jfriedl\100yahoo-inc.com
509 jhannah\100omnihotels.com jay\100jays.net
510 jjore\100cpan.org twists\100gmail.com
511 jns\100integration-house.com jns\100gellyfish.com
512 + gellyfish\100gellyfish.com
513 john\100atlantech.com john\100titanic.atlantech.com
514 john\100johnwright.org john.wright\100hp.com
515 joseph\100cscaper.com joseph\1005sigma.com
516 joshua\100rodd.us jrodd\100pbs.org
517 jtobey\100john-edwin-tobey.org jtobey\100user1.channel1.com
518 jpeacock\100rowman.com john.peacock\100havurah-software.org
519 + jpeacock\100havurah-software.org
520 + jpeacock\100dsl092-147-156.wdc1.dsl.speakeasy.net
521 jql\100accessone.com jql\100jql.accessone.com
522 jsm28\100hermes.cam.ac.uk jsm28\100cam.ac.uk
524 kane\100dwim.org kane\100xs4all.net
529 ken\100mathforum.org kenahoo\100gmail.com
530 kroepke\100dolphin-services.de kay\100dolphin-services.de
531 kstar\100wolfetech.com kstar\100cpan.org
532 + kurt_starsinic\100ml.com
533 + kstar\100www.chapin.edu
534 + kstar\100chapin.edu
535 larry\100wall.org lwall\100jpl-devvax.jpl.nasa.gov
536 + lwall\100netlabs.com
537 + larry\100netlabs.com
539 + lwall\100scalpel.netlabs.com
540 laszlo.molnar\100eth.ericsson.se molnarl\100cdata.tvnet.hu
541 lewart\100uiuc.edu lewart\100vadds.cvm.uiuc.edu
542 + d-lewart\100uiuc.edu
543 lstein\100cshl.org lstein\100formaggio.cshl.org
544 + lstein\100genome.wi.mit.edu
545 lupe\100lupe-christoph.de lupe\100alanya.m.isar.de
546 lutherh\100stratcom.com lutherh\100infinet.com
547 mab\100wdl.loral.com markb\100rdcf.sm.unisys.com
548 marcel\100codewerk.com gr\100univie.ac.at
549 mark.p.lutz\100boeing.com tecmpl1\100triton.ca.boeing.com
550 mats\100sm6sxl.net mats\100sm5sxl.net
551 mbarbon\100dsi.unive.it mattia.barbon\100libero.it
552 mcmahon\100ibiblio.org mcmahon\100metalab.unc.edu
553 merlyn\100stonehenge.com merlyn\100gadget.cscaper.com
554 mgjv\100comdyn.com.au mgjv\100tradingpost.com.au
555 mlh\100swl.msd.ray.com webtools\100uewrhp03.msd.ray.com
556 michael.schroeder\100informatik.uni-erlangen.de mls\100suse.de
557 mike\100stok.co.uk mike\100exegenix.com
558 mjtg\100cam.ac.uk mjtg\100cus.cam.ac.uk
559 mikedlr\100tardis.ed.ac.uk mikedlr\100it.com.pl
560 moritz\100casella.verplant.org moritz\100faui2k3.org
564 neeracher\100mac.com neeri\100iis.ee.ethz.ch
565 neil\100bowers.com neilb\100cre.canon.co.uk
566 nospam-abuse\100bloodgate.com tels\100bloodgate.com
567 + perl_dummy\100bloodgate.com
569 ian.phillipps\100iname.com ian_phillipps\100yahoo.co.uk
570 ignasi.roca\100fujitsu-siemens.com ignasi.roca\100fujitsu.siemens.es
571 ilya\100math.berkeley.edu ilya\100math.ohio-state.edu
572 + nospam-abuse\100ilyaz.org
573 + [9]ilya\100math.ohio-state.edu
575 okamoto\100corp.hp.com okamoto\100hpcc123.corp.hp.com
576 orwant\100oreilly.com orwant\100media.mit.edu
578 p5-authors\100crystalflame.net perl\100crystalflame.net
579 + rs\100crystalflame.net
580 + coral\100eekeek.org
581 + coral\100moonlight.crystalflame.net
582 + rs\100oregonnet.com
583 paul.green\100stratus.com paul_greenvos\100vos.stratus.com
584 + pgreen\100seussnt.stratus.com
585 paul.marquess\100btinternet.com paul_marquess\100yahoo.co.uk
586 + paul.marquess\100ntlworld.com
587 + paul.marquess\100openwave.com
588 + pmarquess\100bfsec.bt.co.uk
590 pcg\100goof.com schmorp\100schmorp.de
591 perl\100cadop.com cdp\100hpescdp.fc.hp.com
592 perl\100greerga.m-l.org greerga\100m-l.org
593 perl\100profvince.com vince\100profvince.com
594 perl-rt\100wizbit.be p5p\100perl.wizbit.be
595 # Maybe we should special case this to get real names out?
596 Peter.Dintelmann\100Dresdner-Bank.com peter.dintelmann\100dresdner-bank.com
597 # NOTE: There is an intentional trailing space in the line above
598 pfeifer\100wait.de pfeifer\100charly.informatik.uni-dortmund.de
600 phil\100perkpartners.com phil\100finchcomputer.com
601 pimlott\100idiomtech.com andrew\100pimlott.net
602 + pimlott\100abel.math.harvard.edu
603 pixel\100mandriva.com pixel\100mandrakesoft.com
604 pne\100cpan.org philip.newton\100gmx.net
605 + philip.newton\100datenrevision.de
607 pprymmer\100factset.com pvhp\100forte.com
608 public\100khwilliamson.com khw\100karl.(none)
610 radu\100netsoft.ro rgreab\100fx.ro
611 raphael.manfredi\100pobox.com raphael_manfredi\100grenoble.hp.com
612 renee.baecker\100smart-websolutions.de reneeb\100reneeb-desktop.(none)
613 richard.foley\100ubsw.com richard.foley\100t-online.de
614 + richard.foley\100ubs.com
615 + richard.foley\100rfi.net
616 rick\100consumercontact.com rick\100bort.ca
617 + rick.delaney\100rogers.com
619 + rick.delaney\100home.com
620 rjbs\100cpan.org rjbs-perl-p5p\100lists.manxome.org
621 + perl.p5p\100rjbs.manxome.org
622 rjk\100linguist.dartmouth.edu rjk\100linguist.thayer.dartmouth.edu
623 + rjk-perl-p5p\100tamias.net
624 rjray\100redhat.com rjray\100uswest.com
625 rmgiroux\100acm.org rmgiroux\100hotmail.com
626 + mgiroux\100bear.com
627 rmbarker\100cpan.org rmb1\100cise.npl.co.uk
628 + robin.barker\100npl.co.uk
629 + rmb\100cise.npl.co.uk
630 robertmay\100cpan.org rob\100themayfamily.me.uk
631 roberto\100keltia.freenix.fr roberto\100eurocontrol.fr
632 robin\100cpan.org robin\100kitsite.com
633 roderick\100argon.org roderick\100gate.net
634 + roderick\100ibcinc.com
635 rootbeer\100teleport.com rootbeer\100redcat.com
636 + tomphoenix\100unknown
637 schubiger\100cpan.org steven\100accognoscere.org
638 + sts\100accognoscere.org
639 + schubiger\100gmail.com
640 schwern\100pobox.com schwern\100gmail.com
641 + schwern\100athens.arena-i.com
642 + schwern\100blackrider.aocn.com
643 + schwern\100ool-18b93024.dyn.optonline.net
644 schotth\100sgi.com author scotth\100sgi.com 842220273 +0000
645 schwab\100suse.de schwab\100issan.informatik.uni-dortmund.de
646 + schwab\100ls5.informatik.uni-dortmund.de
647 sebastien\100aperghis.net maddingue\100free.fr
649 shlomif\100vipe.technion.ac.il shlomif\100iglu.org.il
650 simon\100simon-cozens.org simon\100pembro4.pmb.ox.ac.uk
651 + simon\100brecon.co.uk
652 + simon\100othersideofthe.earth.li
653 + simon\100cozens.net
654 + simon\100netthink.co.uk
655 slaven\100rezic.de slaven.rezic\100berlin.de
656 + srezic\100iconmobile.com
658 + eserte\100cs.tu-berlin.de
659 smcc\100mit.edu smcc\100ocf.berkeley.edu
660 + smcc\100csua.berkeley.edu
662 + smccam\100uclink4.berkeley.edu
663 spider\100orb.nashua.nh.us spider\100web.zk3.dec.com
664 + spider\100leggy.zk3.dec.com
665 + spider-perl\100orb.nashua.nh.us
666 + spider\100peano.zk3.dec.com
667 + spider.boardman\100orb.nashua.nh.us>
669 + spider.boardman\100orb.nashua.nh.us
670 spp\100ds.net spp\100psa.pencom.com
671 + spp\100psasolar.colltech.com
672 + spp\100spotter.yi.org
673 stef\100mongueurs.net stef\100payrard.net
674 + s.payrard\100wanadoo.fr
675 + properler\100freesurf.fr
676 + stef\100francenet.fr
677 sthoenna\100efn.org ysth\100raven.shiftboard.com
679 tassilo.parseval\100post.rwth-aachen.de tassilo.von.parseval\100rwth-aachen.de
680 tchrist\100perl.com tchrist\100mox.perl.com
681 + tchrist\100jhereg.perl.com
682 thomas.dorner\100start.de tdorner\100amadeus.net
683 tjenness\100cpan.org t.jenness\100jach.hawaii.edu
684 + timj\100jach.hawaii.edu
685 tom.horsley\100mail.ccur.com tom.horsley\100ccur.com
686 + tom\100amber.ssd.hcsc.com
688 vkonovalov\100lucent.com vkonovalov\100peterstar.ru
689 + konovalo\100mail.wplus.net
690 + vadim\100vkonovalov.ru
691 + vkonovalov\100spb.lucent.com
692 + vkonovalov\100alcatel-lucent.com
694 whatever\100davidnicol.com davidnicol\100gmail.com
695 wolfgang.laun\100alcatel.at wolfgang.laun\100chello.at
696 + wolfgang.laun\100thalesgroup.com
697 + wolfgang.laun\100gmail.com