#!/usr/local/bin/perl

# In http://www.cs.tu-berlin.de/~kraxel/fb13net/ wird behauptet, daß
# /usr/INFO/Rechnertabelle nicht immer brandaktuell ist.  Das läßt
# sich das Service-Team nicht gefallen.  Dieses kleine Skript zeigt
# Unstimmigkeiten zwischen /etc/hosts und /usr/INFO/Rechnertabelle
# auf.

open (STDIN, "/etc/hosts") || die;

while (<>) {

    # Kommentare und doppelte Einträge werden übersprungen:

    next unless ($_) = /^\d\S+\s+(\S+)\s/;
    next if /^loopback/;
    next if /^localhost/;
    next if /^test/;		# Pseudohosts
    next if /^net/;		# Subnetze
    next if /^gate|-gw/;	# Gateways
    next if /^prfr\d/;		# Printer
    next if /\./;		# Hosts in anderen Domains

    $check{$_} = 1;

}

open (STDIN, "/usr/INFO/Rechnertabelle") || die;

while (<>) {

	next unless ($_) = /^([^:]+):/;
	push (@noip, $_) unless $check{$_};
	delete $check{$_};
}

$"="\n"; $_= "-" x 48; @noinfo= sort keys %check; 

print "In /etc/hosts, aber nicht in der Rechnertabelle:\n$_\n@noinfo\n\n";
print "In der Rechnertabelle, aber nicht in /etc/hosts:\n$_\n@noip\n";

# $Id: abgleich,v 1.2 1995/07/04 11:33:04 czyborra Exp $
