Volker: "||" und "or" nicht dasselbe!?!

Beitrag lesen

Hallo Christian,

das Verhalten erklaert sich aus dem Benutzen fehlerhafter
Beispiele :)

die beispiele habe ich extra so gewählt.

print $a = 0 || 1 ? "hallo" : "huhu";

Du meinst hier wohl '$a == 0'? Mit '$a = 0' weisst du $a
einen Wert zu, und diese Zuweisung wird fast immer 'true'
ergeben. Der -w Flag haette dir das aber auch gezeigt.

nein ich meine schon die zuweisung. als unterschied zur direktausgabe wollte ich den umweg über eine variable gehen da das ergebnis anders ist.
ersatzweise hätte ich schreiben können:
$a = 0 or 1 ? "hallo" : "huhu";
print $a

eine zuweisung ist zwar true, trotzdem ergibt der ausdruck
print $a = 'test'
ausgabe: test
und nicht etwa 1;

gruss volker