Hi!
Vorweg: Auch andere Varianten sind Willkommen!
Also: Ich hab' in einer foreach-Schleife einen regulären ausdruck:
foreach $zone (@zones)
{
$lookup = `nslookup $zone $ns1`;
$lookup =~ /^Address:\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/im;
Nun soll geprüft werden, ob eine IP gefunden wurde oder nicht.
$ip = defined($1) ? $1 : "No answer";
print $ip;
}
Das würde so gut funktionieren, jedoch:
Nachdem das erste Mal $1 belegt wurde, bleibt dieser gespeichert bis er wieder überschrieben wird! Das heisst, bei allen nachfolgenden Aufrufen ist, auch wenn keine IP gefunden wurde, $1 noch mit dem vorherigen Wert belegt!
Wie kann das sauber gelöst werden?
Gruss
Downlord