Nun habe ich folgende Codezeile:
EVAL janein = [abc] == "wxyz" OR [abc] == "defghi" OR [abc] == "jklmn" OR [abc] == "mnop"
IF janein == "TRUE"
>> janein stimmt.
ELSE
>> janein hat einen Fehler hervorgerufen.
PS: Ich habe es auch mit EVAL janein = [abc] INLIST "wxyz defghi jklmn mnop" versucht, das ging aber auch nicht.
Hallo,
IMHO wäre folgender Code sauberer und auch verständlicher:
IF([abc] INLIST "wxyz defghi jklmn mnop")
>> ist drin
ELSE
>> ist nicht drin
Eventuell ist die Ursache für die scheinbar falschen Werte in janein bei deiner Variante auch ein Problem mit der Reihenfolge der Abarbeitung:
EVAL janein = [abc] INLIST "wxyz defghi jklmn mnop"
--> EVAL janein = [abc] --> ?irgendwas? INLIST "wxyz defghi jklmn mnop" --> kannst dir ja spasseshalber mal den Wert von janein anzeigen lassen, wer weiss was da drin steht

Tschau,
DoD
PS: Klammern sind dein Freund - ich weiss zwar nicht, ob die Puppetsprache die Klammern wirklich verarbeitet, aber es erleichtert das Codelesen ungemein, wenn man vernünftig Klammern setzt.