#!/afs/athena/contrib/perl/p

%HOUSE = ('New House-Ballard', '2',
	  'New House-Lawrence', '3',
	  'New House-Coolidge', '4',
	  'New House-Desmond', '5',
	  'French House 475', 'LMF5',
	  'French House 476', 'LMF6',
	  'German House 476', 'DH6',
	  'Russian House', 'RH1',
	  'Spanish House 473', 'LC3',
	  'Spanish House 474', 'LC4',
	  'New House-471', 'CC1');


$nhpost = `expn $ARGV[p0]`;
@names = split("\n", $nhpost);
$i=70;

for(@names){
    $nogood = 0;
    if(/250-<(.+)\@/){
	$username = $1;
	$famit = `finger $username@mit@w20-575-$i`;
	$i++;
	if($i >120){$i=70;}
	if($famit =~ /No matches/){
	    print(STDERR "No entry for $username\n");
	    $nogood = 1;
	} 
	$famit =~ /name: (\w+), (\w+)/;
	$last = $1;
	$first = $2;
	$famit =~ /phone: \(617\) \d\d(\d)-(\d+)/;
	$phone = $1.$2;
	$famit =~ /address: (.+) RM (\d+)/;
	$house = $HOUSE{$1};
	$room = $2;
	$famit =~ /year: (\d)/;
	$year = $1;
    }
    print("$first $last $username $year $house $room $phone\n") unless $nogood;

}
