Hallo Thomas,
ich bin zwar auch nicht der ultimative Experte, aber zwei mögliche Fehler sind mir hier aufgefallen:
Hier das Script ($nslookupcmd zeigt auf /usr/bin/nslookup auf meiner Maschine):
sub resolve_host {
»» $hostname = $ENV{'REMOTE_HOST'};
»»  # Wenn IP-Adresse zurückgeliefert wurde, NSLookup ausführen
»»  
»»  if ($hostname =~ /^d*/)
»»  {
open(NS,"$nslookupcmd $hostname |grep Name: |");
Was soll "grep Name: |" bewirken? M.E. muesste auch
       open(NS,"$nslookupcmd $hostname |");
funktionieren.
while(<NS>)
{
($dummy,$name)=split(/: /);
Falls die Leerzeichen auch im original-Script stehen, solltes Du sie loeschen, sonst wird der Doppelpunkt nicht gefunden.
  	($dummy,$name)=split(/:/);
}
close (NS);if ($name eq '')
{
$name='unknown';
}
else
{
chop($name);
}
$hostname=$name;
}
}Was macht eigentlich das "chop"-Kommando? :-((
Chop() löscht das letzte Zeichen eines Skalars weg. Chomp() löscht nur ein Zeilenumbruch am Ende eines Skalars weg und wäre hier der Deutlichkeit halber vielleicht angebrachter.
Gruß, Christian.
Gruß
Thomas
 nicht angemeldet
 nicht angemeldet