if($Abus eq "busy"){
close (FIRSTCONTROL);
Besetzt();
exit(0);
}if($Abus eq "free"){
seek(FIRSTCONTROL, 0, 0);
print FIRSTCONTROL "busy";
close (FIRSTCONTROL);
}Aber vielleicht so?
Du schienst wirklich grosse Schwierigkeiten mit der heutzutage üblichen funktionalen Programmierung zu haben. exit solltest du vermeiden, da ähnlich wie bei goto in deinem Programmcode der ablauf unterbrochen wird und du ab einer bestimmten Programmgröße solche Stellen u.U. schwer findest.
Dein Beispielcode könnte z.b. mit elsif verbessert werden.
if($Abus eq "busy"){
close (FIRSTCONTROL);
Besetzt();
} elsif($Abus eq "free"){
seek(FIRSTCONTROL, 0, 0);
print FIRSTCONTROL "busy";
close (FIRSTCONTROL);
}
Dann könntest du dir auch das doppelt close sparen.
Struppi.