Hi nochmal *ich mach es auch kurz*
der relevante Perlteil:
-------------------------------------------------
open(FIRSTCONTROL, "<KDB-Data/key-guard.csv");
flock(FIRSTCONTROL, LOCK_EX);
my $Abus = <FIRSTCONTROL>;
print $Abus;
if($Abus eq "busy"){
close (FIRSTCONTROL);
Besetzt();
}
if($Abus eq "free"){
print FIRSTCONTROL "busy";
close (FIRSTCONTROL);
}
print $Abus;
-------------------------------------------------
Ich lasse mir den ausgelesenen Wert vor und nach dem If-Block zur Kontrolle Ausgeben. Wertauslesen aus key-guard funktioniert. Ergebnis: Der If-Block geht nicht. Der Skalar $Abus ist auf jeden Fall befüllt! Es muss am Vergleich liegen. Für Zahlen nimmt man == und für Strings eq. das habe ich gemacht.
Auch wenn ich das so machen:
-------------------------------------------------
my $WertA = "busy";
my $WertB = "free";
if($Abus eq $WertA){
close (FIRSTCONTROL);
Besetzt();
}
if($Abus eq $WertB){
print FIRSTCONTROL "busy";
close (FIRSTCONTROL);
}
-------------------------------------------------
geht es trotzdem nicht. Er springt wenn busy drin steht nicht zum sub-Programm "Besetzt();"
Ich grübel schon ne ganze weile - fällt mir einfach nichts mehr ein. Vom Syntax her müsste alles stimmen...
Gruß Gary