This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
amend sisyphus' email address in AUTHORS
[perl5.git] / Porting / checkAUTHORS.pl
CommitLineData
5649b9c9
NC
1#!/usr/bin/perl -w
2use strict;
8a5e2fa6 3my ($committer, $patch, $author);
cdad3b53 4use utf8;
5649b9c9 5use Getopt::Long;
0be47eca 6use Unicode::Collate;
7582f0f6
JV
7use Text::Wrap;
8$Text::Wrap::columns = 80;
5649b9c9 9
946fbe37
DG
10my ($rank, $ta, $ack, $who, $tap) = (0) x 5;
11my ($author_file, $percentage, $cumulative, $reverse);
12my (%authors, %untraced, %patchers, %committers, %real_names);
13
14my $result = GetOptions (
15 # modes
c673b32a
MH
16 "who" => \$who,
17 "rank" => \$rank,
946fbe37 18 "thanks-applied" => \$ta,
c673b32a
MH
19 "missing" => \$ack ,
20 "tap" => \$tap,
21
946fbe37 22 # modifiers
c673b32a
MH
23 "authors=s" => \$author_file,
24 "percentage" => \$percentage, # show as %age
25 "cumulative" => \$cumulative,
26 "reverse" => \$reverse,
00229b97 27 );
5649b9c9 28
946fbe37 29if (!$result or ( $rank + $ta + $who + $ack + $tap != 1 ) or !@ARGV) {
7582f0f6
JV
30 usage();
31}
32
946fbe37 33$author_file ||= './AUTHORS';
c673b32a 34die "Can't locate '$author_file'. Specify it with '--authors <path>'."
946fbe37
DG
35 unless -f $author_file;
36
7582f0f6
JV
37my $map = generate_known_author_map();
38
946fbe37 39read_authors_files($author_file);
7582f0f6 40
7582f0f6
JV
41
42if ($rank) {
3877da06 43 parse_commits_from_stdin();
7582f0f6
JV
44 display_ordered(\%patchers);
45} elsif ($ta) {
3877da06 46 parse_commits_from_stdin();
7582f0f6 47 display_ordered(\%committers);
946fbe37 48} elsif ($tap) {
3877da06 49 parse_commits_from_stdin_authors();
7582f0f6 50 display_test_output(\%patchers, \%authors, \%real_names);
946fbe37 51} elsif ($ack) {
3877da06 52 parse_commits_from_stdin();
7582f0f6 53 display_missing_authors(\%patchers, \%authors, \%real_names);
64265e98 54} elsif ($who) {
3877da06 55 parse_commits_from_stdin();
946fbe37 56 list_authors(\%patchers, \%authors);
7582f0f6
JV
57}
58
7582f0f6
JV
59exit(0);
60
61sub usage {
62
5649b9c9 63 die <<"EOS";
946fbe37
DG
64Usage: $0 [modes] [modifiers] <git-log-output-file>
65
66Modes (use only one):
67 --who # show list of unique authors by full name
68 --rank # rank authors by patches
69 --thanks-applied # ranks committers of others' patches
70 --missing # display authors not in AUTHORS
71 --tap # show authors present/missing as TAP
72
73Modifiers:
74 --authors <authors-file> # path to authors file (default: ./AUTHORS)
75 --percentage # show rankings as percentages
76 --cumulative # show rankings cumulatively
77 --reverse # show rankings in reverse
78
79Generate git-log-output-file with git log --pretty=fuller rev1..rev2
47e01c32 80(or pipe by specifying '-' for stdin). For example:
64265e98 81 \$ git log --pretty=fuller v5.12.0..v5.12.1 > gitlog
946fbe37 82 \$ perl Porting/checkAUTHORS.pl --rank --percentage gitlog
5649b9c9
NC
83EOS
84}
85
64265e98 86sub list_authors {
946fbe37
DG
87 my ($patchers, $authors) = @_;
88 binmode(STDOUT, ":utf8");
0be47eca 89 print wrap '', '', join(', ', Unicode::Collate->new(level => 1)->sort(
946fbe37 90 map { $authors->{$_} }
0be47eca 91 keys %$patchers)) . ".\n";
64265e98 92}
7582f0f6
JV
93
94sub parse_commits_from_stdin {
95 my @lines = split( /^commit\s*/sm, join( '', <> ) );
96 for (@lines) {
97 next if m/^$/;
98 next if m/^(\S*?)^Merge:/ism; # skip merge commits
8a5e2fa6 99 if (m/^(.*?)^Author:\s*(.*?)^AuthorDate:\s*.*?^Commit:\s*(.*?)^(.*)$/gism) {
7582f0f6
JV
100
101 # new patch
8a5e2fa6 102 ( $patch, $author, $committer ) = ( $1, $2, $3 );
7582f0f6
JV
103 chomp($author);
104 unless ($author) { die $_ }
105 chomp($committer);
106 unless ($committer) { die $_ }
107 process( $committer, $patch, $author );
108 } else {
109 die "XXX $_ did not match";
110 }
e427132c 111 }
e427132c 112
e427132c
JV
113}
114
3877da06
DM
115# just grab authors. Quicker than parse_commits_from_stdin
116
117sub parse_commits_from_stdin_authors {
118 while (<>) {
119 next unless /^Author:\s*(.*)$/;
120 my $author = $1;
121 $author = _raw_address($author);
122 $patchers{$author}++;
123 }
124}
125
e427132c 126
7582f0f6
JV
127sub generate_known_author_map {
128 my %map;
e427132c 129
7582f0f6
JV
130 my $prev = "";
131 while (<DATA>) {
132 chomp;
133 s/\\100/\@/g;
134 $_ = lc;
135 if ( my ( $correct, $alias ) = /^\s*([^#\s]\S*)\s+(.*\S)/ ) {
136 $correct =~ s/^\\043/#/;
137 if ( $correct eq '+' ) { $correct = $prev }
138 else { $prev = $correct }
139 $map{$alias} = $correct;
140 }
141 }
8513229b 142
7582f0f6
JV
143 #
144 # Email addresses for we do not have names.
145 #
146 $map{$_} = "?"
147 for
148 "bah\100longitude.com",
149 "bbucklan\100jpl-devvax.jpl.nasa.gov",
150 "bilbo\100ua.fm",
151 "bob\100starlabs.net",
152 "cygwin\100cygwin.com",
153 "david\100dhaller.de", "erik\100cs.uni-jena.de", "info\100lingo.kiev.ua", # Lingo Translation agency
154 "jms\100mathras.comcast.net",
155 "premchai21\100yahoo.com",
156 "pxm\100nubz.org",
157 "raf\100tradingpost.com.au",
158 "smoketst\100hp46t243.cup.hp.com", "root\100chronos.fi.muni.cz", # no clue - jrv 20090803
159 "gomar\100md.media-web.de", # no clue - jrv 20090803
160 "data-drift\100so.uio.no", # no data. originally private message from 199701282014.VAA12645@selters.uio.no
161 "arbor\100al37al08.telecel.pt"
162 , # reported perlbug ticket 5196 - no actual code contribution. no real name - jrv 20091006
163 "oracle\100pcr8.pcr.com", # Reported perlbug ticket 1015 - no patch - Probably Ed Eddington ed@pcr.com
48f3d0c6 164 "snaury\100gmail.com", # Reported cpan ticket 35943, with patch for fix
7582f0f6
JV
165 ;
166
167 #
168 # Email addresses for people that don't have an email address in AUTHORS
169 # Presumably deliberately?
170 #
171
172 $map{$_} = '!' for
173
174 # Nick Ing-Simmons has passed away (2006-09-25).
175 "nick\100ing-simmons.net",
176 "nik\100tiuk.ti.com",
177 "nick.ing-simmons\100elixent.com",
178 "nick\100ni-s.u-net.com",
179 "nick.ing-simmons\100tiuk.ti.com",
180
181 # Iain Truskett has passed away (2003-12-29).
182 "perl\100dellah.anu.edu.au", "spoon\100dellah.org", "spoon\100cpan.org",
183
184 # Ton Hospel
185 "me-02\100ton.iguana.be", "perl-5.8.0\100ton.iguana.be", "perl5-porters\100ton.iguana.be",
186
187 # Beau Cox
188 "beau\100beaucox.com",
189
190 # Randy W. Sims
191 "ml-perl\100thepierianspring.org",
192
41dadfe2
JK
193 # Jason Hord
194 "pravus\100cpan.org",
195
7582f0f6
JV
196 # perl internal addresses
197 "perl5-porters\100africa.nicoh.com",
198 "perlbug\100perl.org",,
199 "perl5-porters.nicoh.com",
200 "perlbug-followup\100perl.org",
201 "perlbug-comment\100perl.org",
202 "bug-module-corelist\100rt.cpan.org",
203 "bug-storable\100rt.cpan.org",
204 "bugs-perl5\100bugs6.perl.org",
205 "unknown",
206 "unknown\100unknown",
207 "unknown\100longtimeago",
208 "unknown\100perl.org",
209 "",
210 "(none)",
211 ;
212
213 return \%map;
214}
e427132c 215
7582f0f6
JV
216sub read_authors_files {
217 my @authors = (@_);
218 return unless (@authors);
946fbe37 219 my (%count, %raw);
7582f0f6 220 foreach my $filename (@authors) {
1ae6ead9 221 open FH, '<', $filename or die "Can't open $filename: $!";
60d42009 222 binmode FH, ':encoding(UTF-8)';
7582f0f6
JV
223 while (<FH>) {
224 next if /^\#/;
225 next if /^-- /;
946fbe37 226 if (/^([^<]+)<([^>]+)>/) {
7582f0f6 227 # Easy line.
946fbe37
DG
228 my ($name, $email) = ($1, $2);
229 $name =~ s/\s*\z//;
230 $raw{$email} = $name;
231 $count{$email}++;
daeedd11 232 } elsif (/^([- .'\w]+)[\t\n]/) {
7582f0f6
JV
233
234 # Name only
235 $untraced{$1}++;
236 } elsif ( length $_ ) {
237 chomp;
238 warn "Can't parse line '$_'";
239 } else {
240 next;
241 }
242 }
8513229b 243 }
7582f0f6 244 foreach ( keys %raw ) {
946fbe37
DG
245 print "E-mail $_ occurs $count{$_} times\n" if $count{$_} > 1;
246 my $lc = lc $_;
247 $authors{ $map->{$lc} || $lc } = $raw{$_};
7582f0f6 248 }
946fbe37 249 $authors{$_} = $_ for qw(? !);
8513229b
A
250}
251
7582f0f6
JV
252sub display_test_output {
253 my $patchers = shift;
254 my $authors = shift;
255 my $real_names = shift;
256 my $count = 0;
3877da06 257 printf "1..%d\n", scalar keys %$patchers;
7582f0f6 258 foreach ( sort keys %$patchers ) {
3877da06 259 $count++;
7582f0f6
JV
260 if ($authors->{$_}) {
261 print "ok $count - ".$real_names->{$_} ." $_\n";
262 } else {
263 print "not ok $count - Contributor not found in AUTHORS: $_ ".($real_names->{$_} || '???' )."\n";
7ce1b4c4 264 print STDERR ($real_names->{$_} || '???' )." <$_> not found in AUTHORS\n";
7582f0f6 265 }
8513229b 266
7582f0f6 267 }
5649b9c9
NC
268}
269
e427132c 270sub display_missing_authors {
7582f0f6
JV
271 my $patchers = shift;
272 my $authors = shift;
e427132c 273 my $real_names = shift;
7582f0f6
JV
274 my %missing;
275 foreach ( sort keys %$patchers ) {
276 next if $authors->{$_};
277
278 # Sort by number of patches, then name.
279 $missing{ $patchers{$_} }->{$_}++;
280 }
281 foreach my $patches ( sort { $b <=> $a } keys %missing ) {
282 print "\n\n=head1 $patches patch(es)\n\n";
283 foreach my $author ( sort keys %{ $missing{$patches} } ) {
284 my $xauthor = $author;
285 $xauthor =~ s/@/\\100/g; # xxx temp hack
286 print "" . ( $real_names->{$author} || $author ) . "\t\t\t<" . $xauthor . ">\n";
287 }
5649b9c9 288 }
5649b9c9
NC
289}
290
291sub display_ordered {
7582f0f6
JV
292 my $what = shift;
293 my @sorted;
294 my $total;
295
296 while ( my ( $name, $count ) = each %$what ) {
297 push @{ $sorted[$count] }, $name;
298 $total += $count;
299 }
300
301 my $i = @sorted;
302 return unless @sorted;
303 my $sum = 0;
304 foreach my $i ( $reverse ? 0 .. $#sorted : reverse 0 .. $#sorted ) {
305 next unless $sorted[$i];
306 my $prefix;
307 $sum += $i * @{ $sorted[$i] };
308
309 # Value to display is either this one, or the cumulative sum.
310 my $value = $cumulative ? $sum : $i;
311 if ($percentage) {
312 $prefix = sprintf "%6.2f:\t", 100 * $value / $total;
313 } else {
314 $prefix = "$value:\t";
315 }
316 print wrap ( $prefix, "\t", join( " ", sort @{ $sorted[$i] } ), "\n" );
15b8f96d 317 }
5649b9c9
NC
318}
319
320sub process {
7582f0f6
JV
321 my ( $committer, $patch, $author ) = @_;
322 return unless $author;
323 return unless $committer;
324
325 $author = _raw_address($author);
326 $patchers{$author}++;
327
328 $committer = _raw_address($committer);
329 if ( $committer ne $author ) {
330
331 # separate commit credit only if committing someone else's patch
332 $committers{$committer}++;
333 }
5649b9c9
NC
334}
335
00229b97
JV
336sub _raw_address {
337 my $addr = shift;
338 my $real_name;
350bd8f1 339 if ($addr =~ /(?:\\?")?\s*\(via RT\) <perlbug-followup\@perl\.org>$/p) {
08dc3bc8 340 my $name = ${^PREMATCH};
e529a387 341 $addr = 'perlbug-followup@perl.org';
08dc3bc8
A
342 #
343 # Try to find the author
344 #
ac664a5e
DR
345 if (exists $map->{$name}) {
346 $addr = $map->{$name};
347 $real_name = $authors{$addr};
348 }
349 else {
350 while (my ($email, $author_name) = each %authors) {
351 if ($name eq $author_name) {
352 $addr = $email;
353 $real_name = $name;
354 last;
355 }
08dc3bc8
A
356 }
357 }
358 }
359 elsif ( $addr =~ /<.*>/ ) {
7582f0f6
JV
360 $addr =~ s/^\s*(.*)\s*<\s*(.*?)\s*>.*$/$2/;
361 $real_name = $1;
00229b97 362 }
5a528087
CB
363 $addr =~ s/\[mailto://;
364 $addr =~ s/\]//;
00229b97 365 $addr = lc $addr;
e427132c 366 $addr = $map->{$addr} || $addr;
7582f0f6 367 $addr =~ s/\\100/@/g; # Sometimes, there are encoded @ signs in the git log.
5e8353a0 368
7582f0f6 369 if ($real_name) { $real_names{$addr} = $real_name }
00229b97
JV
370 return $addr;
371}
372
5649b9c9 373
8513229b
A
374__DATA__
375
376#
377# List of mappings. First entry the "correct" email address, as appears
378# in the AUTHORS file. Second is any "alias" mapped to it.
379#
a695a9ef 380# If the "correct" email address is a '+', the entry above it is reused;
8513229b
A
381# this for addresses with more than one alias.
382#
383# Note that all entries are in lowercase. Further, no '@' signs should
384# appear; use \100 instead.
385#
386#
387# Committers.
388#
389adi enache\100rdslink.ro
390alanbur alan.burlison\100sun.com
391+ alan.burlison\100uk.sun.com
00229b97
JV
392+ aburlison\100cix.compulink.co.uk
393ams ams\100toroid.org
394+ ams\100wiw.org
8513229b 395chip chip\100pobox.com
00229b97
JV
396+ chip\100perl.com
397+ salzench\100nielsenmedia.com
398+ chip\100atlantic.net
399+ chip\100rio.atlantic.net
400+ salzench\100dun.nielsen.com
3bf51dad 401+ chip\100ci005.sv2.upperbeyond.com
8513229b
A
402craigb craig.berry\100psinetcs.com
403+ craig.berry\100metamorgs.com
404+ craig.berry\100signaltreesolutions.com
405+ craigberry\100mac.com
a94e4597 406+ craig.a.berry\100gmail.com
e82692ac 407+ craig a. berry)
8513229b
A
408davem davem\100fdgroup.com
409+ davem\100iabyn.nospamdeletethisbit.com
a94e4597 410+ davem\100iabyn.com
8513229b
A
411+ davem\100fdgroup.co.uk
412+ davem\100fdisolutions.com
413+ davem\100iabyn.com
414demerphq demerphq\100gmail.com
415+ yves.orton\100de.mci.com
416+ yves.orton\100mciworldcom.de
745b54e4 417+ yves.orton\100booking.com
00229b97
JV
418+ demerphq\100dromedary.booking.com
419+ demerphq\100gemini.(none)
420+ demerphq\100camel.booking.com
421+ demerphq\100hotmail.com
8513229b 422doughera doughera\100lafayette.edu
00229b97
JV
423+ doughera\100lafcol.lafayette.edu
424+ doughera\100fractal.phys.lafayette.edu
425+ doughera.lafayette.edu
426+ doughera\100newton.phys.lafayette.edu
427
8513229b 428gbarr gbarr\100pobox.com
00229b97
JV
429+ bodg\100tiuk.ti.com
430+ gbarr\100ti.com
431+ graham.barr\100tiuk.ti.com
e82692ac 432+ gbarr\100monty.mutatus.co.uk
8513229b
A
433gisle gisle\100activestate.com
434+ gisle\100aas.no
00229b97
JV
435+ aas\100aas.no
436+ aas\100bergen.sn.no
8513229b
A
437gsar gsar\100activestate.com
438+ gsar\100cpan.org
00229b97 439+ gsar\100engin.umich.edu
8513229b
A
440hv hv\100crypt.compulink.co.uk
441+ hv\100crypt.org
00229b97 442+ hv\100iii.co.uk
8513229b
A
443jhi jhi\100iki.fi
444+ jhietaniemi\100gmail.com
445+ jhi\100kosh.hut.fi
00229b97 446+ jhi\100alpha.hut.fi
8513229b 447+ jhi\100cc.hut.fi
fda5b70a 448+ jhi\100hut.fi
8513229b 449+ jarkko.hietaniemi\100nokia.com
00229b97 450+ jarkko.hietaniemi\100cc.hut.fi
63d7924f 451+ jarkko.hietaniemi\100booking.com
00229b97
JV
452jesse jesse\100bestpractical.com
453+ jesse\100fsck.com
454+ jesse\100perl.org
8513229b
A
455merijn h.m.brand\100xs4all.nl
456+ h.m.brand\100hccnet.nl
457+ merijn\100l1.procura.nl
e82692ac 458+ merijn\100a5.(none)
8513229b 459mhx mhx-perl\100gmx.net
e82692ac 460+ mhx\100r2d2.(none)
93456aa7
JV
461mst mst\100shadowcat.co.uk
462+ matthewt\100hercule.scsys.co.uk
8513229b
A
463nicholas nick\100unfortu.net
464+ nick\100ccl4.org
465+ nick\100talking.bollo.cx
466+ nick\100plum.flirble.org
467+ nick\100babyhippo.co.uk
468+ nick\100bagpuss.unfortu.net
e82692ac 469+ nick\100babyhippo.com
93456aa7 470+ nicholas\100dromedary.ams6.corp.booking.com
e82692ac 471+ Nicholas Clark (sans From field in mail header)
8513229b
A
472pudge pudge\100pobox.com
473rgs rgarciasuarez\100free.fr
474+ rgarciasuarez\100mandrakesoft.com
475+ rgarciasuarez\100mandriva.com
476+ rgarciasuarez\100gmail.com
477+ raphel.garcia-suarez\100hexaflux.com
12feb466 478+ rgs@consttype.org
8513229b
A
479sky sky\100nanisky.com
480+ artur\100contiller.se
481+ arthur\100contiller.se
86e2f329
S
482smueller 7k8lrvf02\100sneakemail.com
483+ kjx9zthh3001\100sneakemail.com
484+ dtr8sin02\100sneakemail.com
485+ rt8363b02\100sneakemail.com
486+ o6hhmk002\100sneakemail.com
487+ smueller\100cpan.org
488+ l2ot9pa02\100sneakemail.com
489+ wyp3rlx02\100sneakemail.com
490+ 0mgwtfbbq\100sneakemail.com
491+ xyey9001\100sneakemail.com
03c4920e
SH
492steveh steve.m.hay\100googlemail.com
493+ stevehay\100planit.com
b692cd7a 494+ steve.hay\100uk.radan.com
8513229b
A
495stevep steve\100fisharerojo.org
496+ steve.peters\100gmail.com
e82692ac 497+ root\100dixie.cscaper.com
00229b97
JV
498timb Tim.Bunce\100pobox.com
499+ tim.bunce\100ig.co.uk
87ff2bbe
TC
500tonyc tony\100develop-help.com
501+ tony\100openbsd32.tony.develop-help.com
a2d496af 502+ tony\100saturn.(none)
8513229b
A
503
504#
505# Mere mortals.
506#
00229b97 507\043####\100juerd.nl juerd\100cpan.org
212682ea 508+ juerd\100c3.convolution.nl
00229b97 509+ juerd\100convolution.nl
00229b97 510a.r.ferreira\100gmail.com aferreira\100shopzilla.com
8513229b 511abe\100ztreet.demon.nl abeltje\100cpan.org
00229b97 512abela\100hsc.fr abela\100geneanet.org
8513229b
A
513abigail\100abigail.be abigail\100foad.org
514+ abigail\100abigail.nl
00229b97 515+ abigail\100fnx.com
e82692ac 516aburt\100isis.cs.du.edu isis!aburt
00229b97 517ach\100mpe.mpg.de ach\100rosat.mpe-garching.mpg.de
e82692ac 518adavies\100ptc.com alex.davies\100talktalk.net
8513229b 519ajohnson\100nvidia.com ajohnson\100wischip.com
e82692ac 520+ anders\100broadcom.com
8513229b 521alexm\100netli.com alexm\100w-m.ru
a94e4597 522alex-p5p\100earth.li alex\100rcon.rog
00229b97 523alexmv\100mit.edu alex\100chmrr.net
8513229b 524alian\100cpan.org alian\100alianwebserver.com
00229b97
JV
525allen\100grumman.com allen\100gateway.grumman.com
526allen\100huarp.harvard.edu nort\100bottesini.harvard.edu
e82692ac 527+ nort\100qnx.com
8513229b 528allens\100cpan.org easmith\100beatrice.rutgers.edu
e82692ac 529+ root\100dogberry.rutgers.edu
00229b97
JV
530andreas.koenig\100anima.de andreas.koenig.gmwojprw\100franz.ak.mind.de
531+ andreas.koenig.7os6vvqr\100franz.ak.mind.de
8513229b 532+ a.koenig\100mind.de
00229b97
JV
533+ k\100anna.in-berlin.de
534+ andk\100cpan.org
535+ koenig\100anna.mind.de
536+ k\100anna.mind.de
e82692ac
MB
537+ root\100ak-71.mind.de
538+ root\100ak-75.mind.de
539+ k\100sissy.in-berlin.de
540+ a.koenig\100kulturbox.de
541+ k\100sissy.in-berlin.de
542+ root\100dubravka.in-berlin.de
8513229b
A
543anno4000\100lublin.zrz.tu-berlin.de anno4000\100mailbox.tu-berlin.de
544+ siegel\100zrz.tu-berlin.de
25b68122 545apocal@cpan.org perl\1000ne.us
e82692ac
MB
546arnold\100gnu.ai.mit.edu arnold\100emoryu2.arpa
547+ gatech!skeeve!arnold
7dbe2044 548arodland\100cpan.org andrew\100hbslabs.com
e82692ac 549arussell\100cs.uml.edu adam\100adam-pc.(none)
8513229b
A
550ash\100cpan.org ash_cpan\100firemirror.com
551avarab\100gmail.com avar\100cpan.org
552
00229b97
JV
553bailey\100newman.upenn.edu bailey\100hmivax.humgen.upenn.edu
554+ bailey\100genetics.upenn.edu
e82692ac 555+ bailey.charles\100gmail.com
8513229b 556bah\100ecnvantage.com bholzman\100longitude.com
e82692ac
MB
557barries\100slaysys.com root\100jester.slaysys.com
558bkedryna\100home.com bart\100cg681574-a.adubn1.nj.home.com
00229b97 559bcarter\100gumdrop.flyinganvil.org q.eibcartereio.=~m-b.{6}-cgimosx\100gumdrop.flyinganvil.org
8513229b 560ben_tilly\100operamail.com btilly\100gmail.com
e82692ac
MB
561+ ben_tilly\100hotmail.com
562ben\100morrow.me.uk mauzo\100csv.warwick.ac.uk
563+ mauzo\100.(none)
564bepi\100perl.it enrico.sorcinelli\100gmail.com
565bert\100alum.mit.edu bert\100genscan.com
93456aa7 566bigbang7\100gmail.com ddascalescu+github\100gmail.com
f8a89dce 567blgl\100stacken.kth.se blgl\100hagernas.com
6fd0ab63 568+ 2bfjdsla52kztwejndzdstsxl9athp\100gmail.com
d203773f 569brian.d.foy\100gmail.com bdfoy\100cpan.org
e82692ac 570BQW10602\100nifty.com sadahiro\100cpan.org
ac664a5e 571bulk88\100hotmail.com bulk88
8513229b 572
4bba85d0 573chad.granum\100dreamhost.com exodist7\100gmail.com
4d88742b 574choroba\100cpan.org choroba\100weed.(none)
8513229b 575chromatic\100wgz.org chromatic\100rmci.net
201da6ff 576ckuskie\100cadence.com colink\100perldreamer.com
040d2336 577claes\100surfar.nu claes\100versed.se
e82692ac 578clintp\100geeksalad.org cpierce1\100ford.com
8513229b 579clkao\100clkao.org clkao\100bestpractical.com
00229b97 580corion\100corion.net corion\100cpan.org
8513229b
A
581cp\100onsitetech.com publiustemp-p5p\100yahoo.com
582+ publiustemp-p5p3\100yahoo.com
583cpan\100audreyt.org autrijus\100egb.elixus.org
584+ autrijus\100geb.elixus.org
585+ autrijus\100gmail.com
586+ autrijus\100ossf.iis.sinica.edu.tw
587+ autrijus\100autrijus.org
588+ audreyt\100audreyt.org
e82692ac 589cpan\100ton.iguana.be me-01\100ton.iguana.be
d203773f 590crt\100kiski.net perl\100ctweten.amsite.com
8513229b 591
e82692ac 592dairiki\100dairiki.org dairiki at dairiki.org
fda5b70a 593dagolden\100cpan.org xdaveg\100gmail.com
6fb5c52d 594+ xdg\100xdg.me
895db057 595damian\100conway.org damian\100cs.monash.edu.au
00229b97
JV
596dan\100sidhe.org sugalsd\100lbcc.cc.or.us
597+ sugalskd\100osshe.edu
e82692ac 598daniel\100bitpusher.com daniel\100biz.bitpusher.com
83cad695 599dave\100mag-sol.com dave\100dave.org.uk
8513229b 600david.dyck\100fluke.com dcd\100tc.fluke.com
9d1ee727
KW
601david\100justatheory.com david\100wheeler.net
602+ david\100kineticode.com
603+ david\100wheeler.com
e82692ac 604+ david\100wheeler.net
c2e08204 605whatever\100davidnicol.com davidnicol\100gmail.com
3bf51dad 606dennis\100booking.com dennis\100camel.ams6.corp.booking.com
6439ee77 607+ dennis.kaarsemaker\100booking.com
a4d824de 608+ dennis\100kaarsemaker.net
d203773f 609dev-perl\100pimb.org knew-p5p\100pimb.org
5a528087 610+ lists-p5p\100pimb.org
e82692ac 611djberg86\100attbi.com djberg96\100attbi.com
09c3cef4 612dk\100tetsuo.karasik.eu.org dmitry\100karasik.eu.org
8513229b 613domo\100computer.org shouldbedomo\100mac.com
00229b97 614+ domo\100slipper.ip.lu
e82692ac 615+ domo\100tcp.ip.lu
00229b97
JV
616dougm\100covalent.net dougm\100opengroup.org
617+ dougm\100osf.org
e82692ac
MB
618dougw\100cpan.org doug_wilson\100intuit.com
619dwegscheid\100qtm.net wegscd\100whirlpool.com
620edwardp\100excitehome.net epeschko\100den-mdev1
621+ epeschko\100elmer.tci.com
622+ esp5\100pge.com
00229b97 623egf7\100columbia.edu efifer\100sanwaint.com
e82692ac 624eggert\100twinsun.com eggert\100sea.sm.unisys.com
2330d9b7 625etj\100cpan.org mohawk2\100users.noreply.github.com
8513229b
A
626
627fugazi\100zyx.net larrysh\100cpan.org
e82692ac 628+ lshatzer\100islanddata.com
8513229b 629
e82692ac 630gbacon\100itsc.uah.edu gbacon\100adtrn-srv4.adtran.com
d203773f 631gerberb\100zenez.com root\100devsys0.zenez.com
e82692ac 632gfuji\100cpan.org g.psy.va\100gmail.com
14ccab5a 633genesullivan50\100yahoo.com gsullivan\100cpan.org
e82692ac 634gerard\100ggoossen.net gerard\100tty.nl
fda5b70a
JV
635gibreel\100pobox.com stephen.zander\100interlock.mckesson.com
636+ srz\100loopback
b9ff0c49 637gideon\100cpan.org gidisrael\100gmail.com
00229b97 638gnat\100frii.com gnat\100prometheus.frii.com
8513229b
A
639gp\100familiehaase.de gerrit\100familiehaase.de
640grazz\100pobox.com grazz\100nyc.rr.com
d203773f 641gward\100ase.com greg\100bic.mni.mcgill.ca
a22ececd
AHA
642haggai\100cpan.org alanhaggai\100alanhaggai.org
643+ alanhaggai\100gmail.com
00229b97
JV
644hansmu\100xs4all.nl hansm\100icgroup.nl
645+ hansm\100icgned.nl
646+ hans\100icgned.nl
b5e2dde1 647+ hans\100icgroup.nl
00229b97 648+ hansm\100euronet.nl
e82692ac 649+ hansm\100euro.net
8513229b 650hio\100ymir.co.jp hio\100hio.jp
e82692ac 651hops\100sco.com hops\100scoot.pdev.sco.com
8513229b 652
74314d7a 653ian.goodacre\100xtra.co.nz ian\100debian.lan
e82692ac 654ingo_weinhold\100gmx.de bonefish\100cs.tu-berlin.de
c07671d7 655
e82692ac 656james\100mastros.biz theorb\100desert-island.me.uk
5ab3d1b3
JD
657jan\100jandubois.com jand\100activestate.com
658+ jan.dubois\100ibm.net
8513229b
A
659japhy\100pobox.com japhy\100pobox.org
660+ japhy\100perlmonk.org
661+ japhy\100cpan.org
e82692ac 662+ jeffp\100crusoe.net
8513229b 663jari.aalto\100poboxes.com jari.aalto\100cante.net
e82692ac
MB
664jarausch\100numa1.igpm.rwth-aachen.de helmutjarausch\100unknown
665jasons\100cs.unm.edu jasons\100sandy-home.arc.unm.edu
666jbuehler\100hekimian.com jhpb\100hekimian.com
667jcromie\100100divsol.com jcromie\100cpan.org
8513229b 668+ jim.cromie\100gmail.com
1ae6ead9 669jd\100cpanel.net lightsey\100debian.org
8513229b
A
670jdhedden\100cpan.org jerry\100hedden.us
671+ jdhedden\1001979.usna.com
672+ jdhedden\100gmail.com
673+ jdhedden\100yahoo.com
e82692ac 674+ jhedden\100pn100-02-2-356p.corp.bloomberg.com
9846bace 675+ jdhedden\100solydxk
e82692ac 676jeremy\100zawodny.com jzawodn\100wcnet.org
d203773f 677jesse\100sig.bsh.com jesse\100ginger
8513229b 678jfriedl\100yahoo.com jfriedl\100yahoo-inc.com
e82692ac 679jfs\100fluent.com jfs\100jfs.fluent.com
fd548ba4
FC
680jhannah\100mutationgrid.com jay\100jays.net
681+ jhannah\100omnihotels.com
682jidanni\100jidanni.org jidanni\100hoffa.dreamhost.com
8513229b 683jjore\100cpan.org twists\100gmail.com
dfe12d64
JK
684jkeenan\100cpan.org jkeen\100verizon.net
685+ jkeenan\100dromedary-001.ams6.corp.booking.com
fda5b70a
JV
686jns\100integration-house.com jns\100gellyfish.com
687+ gellyfish\100gellyfish.com
e82692ac
MB
688john\100atlantech.com john\100titanic.atlantech.com
689john\100johnwright.org john.wright\100hp.com
690joseph\100cscaper.com joseph\1005sigma.com
691joshua\100rodd.us jrodd\100pbs.org
692jtobey\100john-edwin-tobey.org jtobey\100user1.channel1.com
9feb1316 693jpeacock\100messagesystems.com john.peacock\100havurah-software.org
fda5b70a 694+ jpeacock\100havurah-software.org
e82692ac 695+ jpeacock\100dsl092-147-156.wdc1.dsl.speakeasy.net
feaafc86 696+ jpeacock\100jpeacock-hp.doesntexist.org
05ddb96b 697+ jpeacock\100cpan.org
9feb1316 698+ jpeacock\100rowman.com
a25f3052 699james.schneider\100db.com jschneid\100netilla.com
277c21af 700jpl.jpl\100gmail.com jpl\100research.att.com
d203773f 701jql\100accessone.com jql\100jql.accessone.com
e82692ac 702jsm28\100hermes.cam.ac.uk jsm28\100cam.ac.uk
8513229b
A
703
704kane\100dwim.org kane\100xs4all.net
705+ kane\100cpan.org
706+ kane\100xs4all.nl
707+ jos\100dwim.org
708+ jib\100ripe.net
60d42009 709keith.s.thompson\100gmail.com kst\100mib.org
00229b97 710ken\100mathforum.org kenahoo\100gmail.com
e82692ac 711+ ken.williams\100thomsonreuters.com
31a15f36 712kentfredric\100gmail.com kentnl\100cpan.org
63781094
RS
713kmx\100volny.cz kmx\100volny.cz
714+ kmx\100cpan.org
8513229b 715kroepke\100dolphin-services.de kay\100dolphin-services.de
78d25b6c
JV
716kst\100mib.org kst\100cts.com
717+ kst\100SDSC.EDU
8513229b 718kstar\100wolfetech.com kstar\100cpan.org
00229b97 719+ kurt_starsinic\100ml.com
e82692ac
MB
720+ kstar\100www.chapin.edu
721+ kstar\100chapin.edu
00229b97
JV
722larry\100wall.org lwall\100jpl-devvax.jpl.nasa.gov
723+ lwall\100netlabs.com
724+ larry\100netlabs.com
725+ lwall\100sems.com
726+ lwall\100scalpel.netlabs.com
e82692ac
MB
727laszlo.molnar\100eth.ericsson.se molnarl\100cdata.tvnet.hu
728+ ml1050\100freemail.hu
946fbe37 729lewart\100uiuc.edu lewart\100vadds.cvm.uiuc.edu
00229b97 730+ d-lewart\100uiuc.edu
84ad9c6c 731lkundrak\100v3.sk lubo.rintel\100gooddata.com
e82692ac
MB
732lstein\100cshl.org lstein\100formaggio.cshl.org
733+ lstein\100genome.wi.mit.edu
84ad9c6c 734l.mai\100web.de plokinom\100gmail.com
e82692ac
MB
735lupe\100lupe-christoph.de lupe\100alanya.m.isar.de
736lutherh\100stratcom.com lutherh\100infinet.com
737mab\100wdl.loral.com markb\100rdcf.sm.unisys.com
00229b97 738marcel\100codewerk.com gr\100univie.ac.at
06fdbb00 739+ hanekomu\100gmail.com
9d0e037a 740marcgreen\100cpan.org marcgreen\100wpi.edu
d4cb306b 741markleightonfisher\100gmail.com fisherm\100tce.com
a8a7611f 742+ mark-fisher\100mindspring.com
e82692ac
MB
743mark.p.lutz\100boeing.com tecmpl1\100triton.ca.boeing.com
744marnix\100gmail.com pttesac!marnix!vanam
88048be8 745marty+p5p\100kasei.com marty\100martian.org
8513229b
A
746mats\100sm6sxl.net mats\100sm5sxl.net
747mbarbon\100dsi.unive.it mattia.barbon\100libero.it
a73beef9 748+ mattia\100barbon.org
8513229b 749mcmahon\100ibiblio.org mcmahon\100metalab.unc.edu
e82692ac
MB
750me\100davidglasser.net glasser\100tang-eleven-seventy-nine.mit.edu
751merijnb\100iloquent.nl merijnb\100ms.com
752+ merijnb\100iloquent.com
d203773f 753merlyn\100stonehenge.com merlyn\100gadget.cscaper.com
d5564dc4 754mestre.smash\100gmail.com smash\100cpan.org
8513229b 755mgjv\100comdyn.com.au mgjv\100tradingpost.com.au
e82692ac 756mlh\100swl.msd.ray.com webtools\100uewrhp03.msd.ray.com
8513229b
A
757michael.schroeder\100informatik.uni-erlangen.de mls\100suse.de
758mike\100stok.co.uk mike\100exegenix.com
e7613a67 759miyagawa\100bulknews.net miyagawa\100edge.co.jp
8513229b 760mjtg\100cam.ac.uk mjtg\100cus.cam.ac.uk
e82692ac 761mikedlr\100tardis.ed.ac.uk mikedlr\100it.com.pl
fda5b70a 762moritz\100casella.verplant.org moritz\100faui2k3.org
e82692ac 763+ moritz lenz
fda5b70a 764
e82692ac 765neale\100VMA.TABNSW.COM.AU neale\100pucc.princeton.edu
d203773f 766neeracher\100mac.com neeri\100iis.ee.ethz.ch
e82692ac 767neil\100bowers.com neilb\100cre.canon.co.uk
20b15ed1 768
8513229b
A
769nospam-abuse\100bloodgate.com tels\100bloodgate.com
770+ perl_dummy\100bloodgate.com
00229b97 771
e82692ac
MB
772ian.phillipps\100iname.com ian_phillipps\100yahoo.co.uk
773+ ian\100dial.pipex.com
00229b97 774ignasi.roca\100fujitsu-siemens.com ignasi.roca\100fujitsu.siemens.es
e82692ac 775ikegami\100adaelis.com eric\100fmdev10.(none)
d203773f 776ilmari\100ilmari.org ilmari\100vesla.ilmari.org
e82692ac 777illpide\100telecel.pt arbor\100al37al08.telecel.pt
20b15ed1
JV
778# see http://www.nntp.perl.org/group/perl.perl5.porters/2001/01/msg28925.html
779#
a94e4597
S
780ilya\100math.berkeley.edu ilya\100math.ohio-state.edu
781+ nospam-abuse\100ilyaz.org
e82692ac 782+ [9]ilya\100math.ohio-state.edu
d203773f 783ilya\100martynov.org ilya\100juil.nonet
8513229b 784
31febfb6
FC
785joshua.pritikin\100db.com joshua\100paloalto.com
786
9fcef2a0
FC
787litt\100acm.org tlhackque\100yahoo.com
788
3b8d3bda
FC
789meyering@asic.sc.ti.com jim\100meyering.net
790
00229b97 791okamoto\100corp.hp.com okamoto\100hpcc123.corp.hp.com
e82692ac 792orwant\100oreilly.com orwant\100media.mit.edu
00229b97 793
8513229b
A
794p5-authors\100crystalflame.net perl\100crystalflame.net
795+ rs\100crystalflame.net
00229b97
JV
796+ coral\100eekeek.org
797+ coral\100moonlight.crystalflame.net
798+ rs\100oregonnet.com
93456aa7 799+ rs\100topsy.com
8513229b 800paul.green\100stratus.com paul_greenvos\100vos.stratus.com
e82692ac 801+ pgreen\100seussnt.stratus.com
8513229b
A
802paul.marquess\100btinternet.com paul_marquess\100yahoo.co.uk
803+ paul.marquess\100ntlworld.com
804+ paul.marquess\100openwave.com
00229b97
JV
805+ pmarquess\100bfsec.bt.co.uk
806+ pmqs\100cpan.org
e82692ac
MB
807+ paul\100paul-desktop.(none)
808Pavel.Zakouril\100mff.cuni.cz root\100egg.karlov.mff.cuni.cz
8513229b 809pcg\100goof.com schmorp\100schmorp.de
00229b97 810perl\100cadop.com cdp\100hpescdp.fc.hp.com
e82692ac 811perl\100greerga.m-l.org greerga\100m-l.org
00229b97
JV
812perl\100profvince.com vince\100profvince.com
813perl-rt\100wizbit.be p5p\100perl.wizbit.be
8513229b 814# Maybe we should special case this to get real names out?
946fbe37 815Peter.Dintelmann\100Dresdner-Bank.com peter.dintelmann\100dresdner-bank.com
fda5b70a 816# NOTE: There is an intentional trailing space in the line above
00229b97 817pfeifer\100wait.de pfeifer\100charly.informatik.uni-dortmund.de
e82692ac 818+ upf\100de.uu.net
36a4e1d1
NC
819ribasushi@cpan.org rabbit\100rabbit.us
820+ rabbit+bugs\100rabbit.us
d6abd0a3 821perl\100aaroncrane.co.uk arc\100cpan.org
8513229b
A
822phil\100perkpartners.com phil\100finchcomputer.com
823pimlott\100idiomtech.com andrew\100pimlott.net
e82692ac
MB
824+ pimlott\100abel.math.harvard.edu
825pixel\100mandriva.com pixel\100mandrakesoft.com
8513229b
A
826pne\100cpan.org philip.newton\100gmx.net
827+ philip.newton\100datenrevision.de
828+ pnewton\100gmx.de
00229b97 829pprymmer\100factset.com pvhp\100forte.com
3eab96ca
KW
830khw\100cpan.org khw\100karl.(none)
831+ public\100khwilliamson.com
e82692ac 832+ khw\100khw-desktop.(none)
8513229b
A
833
834radu\100netsoft.ro rgreab\100fx.ro
549122ae 835rajagopa\100pauline.schrodinger.com rajagopa\100schrodinger.com
00229b97 836raphael.manfredi\100pobox.com raphael_manfredi\100grenoble.hp.com
117a8c22
RB
837module@renee-baecker.de renee.baecker\100smart-websolutions.de
838+ reneeb\100reneeb-desktop.(none)
a7f7a167 839+ github@renee-baecker.de
2bacf451 840+ otrs\100ubuntu.(none)
524cd813 841+ perl\100renee-baecker.de
7bb7565a 842+ reb\100perl-services.de
8f6628e3 843+ info\100perl-services.de
f157ad77 844richard.foley\100rfi.net richard.foley\100t-online.de
8513229b 845+ richard.foley\100ubs.com
f157ad77 846+ richard.foley\100ubsw.com
8513229b
A
847rick\100consumercontact.com rick\100bort.ca
848+ rick.delaney\100rogers.com
a94e4597 849+ rick\100bort.ca
e82692ac 850+ rick.delaney\100home.com
4bc69901 851rjbs\100cpan.org rjbs-perl-p5p\100lists.manxome.org
e82692ac 852+ perl.p5p\100rjbs.manxome.org
8513229b
A
853rjk\100linguist.dartmouth.edu rjk\100linguist.thayer.dartmouth.edu
854+ rjk-perl-p5p\100tamias.net
ec36440e 855+ rjk\100tamias.net
e82692ac 856rjray\100redhat.com rjray\100uswest.com
8513229b 857rmgiroux\100acm.org rmgiroux\100hotmail.com
e82692ac 858+ mgiroux\100bear.com
a94e4597
S
859rmbarker\100cpan.org rmb1\100cise.npl.co.uk
860+ robin.barker\100npl.co.uk
00229b97 861+ rmb\100cise.npl.co.uk
5b2081f5 862+ robin\100spade-ubuntu.(none)
b2061475 863+ r.m.barker\100btinternet.com
34c029c7 864+ rmbarker.cpan\100btinternet.com
00229b97 865robertmay\100cpan.org rob\100themayfamily.me.uk
d203773f 866roberto\100keltia.freenix.fr roberto\100eurocontrol.fr
00229b97
JV
867robin\100cpan.org robin\100kitsite.com
868roderick\100argon.org roderick\100gate.net
e82692ac 869+ roderick\100ibcinc.com
3560ee4d 870argrath\100ub32.org root\100ub32.org
8513229b 871rootbeer\100teleport.com rootbeer\100redcat.com
e82692ac 872+ tomphoenix\100unknown
3bf51dad 873rurban\100x-ray.at rurban\100cpan.org
080d4cd3 874+ rurban\100cpanel.net
2515a12c 875rvtol+news\100isolution.nl rvtol\100isolution.nl
c0e9ef6a 876sartak\100bestpractical.com sartak\100gmail.com
a3d8b840 877+ code\100sartak.org
ed429a63 878sadinoff\100olf.com danny-cpan\100sadinoff.com
8513229b
A
879schubiger\100cpan.org steven\100accognoscere.org
880+ sts\100accognoscere.org
00229b97 881+ schubiger\100gmail.com
f273d1e7 882+ stsc\100refcnt.org
8513229b 883schwern\100pobox.com schwern\100gmail.com
8ed05479
MS
884+ schwern\100athens.arena-i.com
885+ schwern\100blackrider.aocn.com
886+ schwern\100ool-18b93024.dyn.optonline.net
a6580681 887scop\100cs132170.pp.htv.fi ville.skytta\100iki.fi
e82692ac
MB
888scotth\100sgi.com author scotth\100sgi.com 842220273 +0000
889+ schotth\100sgi.com
890schwab\100suse.de schwab\100issan.informatik.uni-dortmund.de
891+ schwab\100ls5.informatik.uni-dortmund.de
8513229b
A
892sebastien\100aperghis.net maddingue\100free.fr
893+ saper\100cpan.org
1048cfac 894shigeya\100wide.ad.jp shigeya\100foretune.co.jp
917cc27d
SF
895shlomif\100cpan.org shlomif\100vipe.technion.ac.il
896+ shlomif\100iglu.org.il
ff47f462 897+ shlomif+processed-by-perl\100gmail.com
be235cc1 898+ shlomif\100shlomifish.org
8513229b
A
899simon\100simon-cozens.org simon\100pembro4.pmb.ox.ac.uk
900+ simon\100brecon.co.uk
901+ simon\100othersideofthe.earth.li
902+ simon\100cozens.net
903+ simon\100netthink.co.uk
cd799e5a
SL
904lannings\100who.int lannings\100gmail.com
905+ slanning\100cpan.org
8513229b 906slaven\100rezic.de slaven.rezic\100berlin.de
a94e4597 907+ srezic\100iconmobile.com
00229b97 908+ srezic\100cpan.org
e82692ac
MB
909+ eserte\100cs.tu-berlin.de
910+ eserte\100vran.herceg.de
8513229b
A
911smcc\100mit.edu smcc\100ocf.berkeley.edu
912+ smcc\100csua.berkeley.edu
00229b97 913+ alias\100mcs.com
fda5b70a 914+ smccam\100uclink4.berkeley.edu
8513229b
A
915spider\100orb.nashua.nh.us spider\100web.zk3.dec.com
916+ spider\100leggy.zk3.dec.com
917+ spider-perl\100orb.nashua.nh.us
918+ spider\100peano.zk3.dec.com
fda5b70a
JV
919+ spider.boardman\100orb.nashua.nh.us>
920+ spidb\100cpan.org
e82692ac
MB
921+ spider.boardman\100orb.nashua.nh.us
922+ root\100peano.zk3.dec.com
1ea085fc 923spiros\100lokku.com s.denaxas\100gmail.com
00229b97 924spp\100ds.net spp\100psa.pencom.com
fda5b70a
JV
925+ spp\100psasolar.colltech.com
926+ spp\100spotter.yi.org
8513229b
A
927stef\100mongueurs.net stef\100payrard.net
928+ s.payrard\100wanadoo.fr
e82692ac
MB
929+ properler\100freesurf.fr
930+ stef\100francenet.fr
cb991fd8 931stevan\100cpan.org stevan.little\100gmail.com
c6a7f572 932+ stevan.little\100iinteractive.com
e82692ac 933sthoenna\100efn.org ysth\100raven.shiftboard.com
8b2d7fd7 934sisyphus1\100optusnet.com.au sisyphus\100cpan.org
8513229b
A
935
936tassilo.parseval\100post.rwth-aachen.de tassilo.von.parseval\100rwth-aachen.de
e82692ac
MB
937tchrist\100perl.com tchrist\100mox.perl.com
938+ tchrist\100jhereg.perl.com
939thomas.dorner\100start.de tdorner\100amadeus.net
940tjenness\100cpan.org t.jenness\100jach.hawaii.edu
941+ timj\100jach.hawaii.edu
942tobez\100tobez.org tobez\100plab.ku.dk
2fe8fc10 943toddr\100cpan.org toddr\100cpanel.net
e82692ac
MB
944tom\100compton.nu thh\100cyberscience.com
945tom.horsley\100mail.ccur.com tom.horsley\100ccur.com
946+ tom\100amber.ssd.hcsc.com
947
948vkonovalov\100lucent.com vkonovalov\100peterstar.ru
949+ konovalo\100mail.wplus.net
950+ vadim\100vkonovalov.ru
951+ vkonovalov\100spb.lucent.com
952+ vkonovalov\100alcatel-lucent.com
058a5f6c 953+ vadim.konovalov\100alcatel-lucent.com
e82692ac
MB
954
955whatever\100davidnicol.com davidnicol\100gmail.com
956wolfgang.laun\100alcatel.at wolfgang.laun\100chello.at
957+ wolfgang.laun\100thalesgroup.com
958+ wolfgang.laun\100gmail.com
64698074 959wolfsage\100gmail.com mhorsfall\100darmstadtium.(none)
e82692ac 960yath\100yath.de yath-perlbug\100yath.de
691b316a 961