Hallo du da draußen,
Freilich. $D="bla" ist eine Zuweisung, und die liefert immer "true" zurück, wenn's funktioniert hat (und das tut's bei gemeinen Variablen eigentlich immer)
Tut mir leid, ich muss dich ein wenig korrigieren. Die Zuweisung liefert nicht true zurück, wenns geklappt hat, sondern dern zugewiesenen Wert, also in diesem Fall "bla".
Würde die Zuweisung jetzt $D="", $D=0 oder $D=false heißen, würde die Zuweisung die entsprechenden Werte zurückliefern, diese werden als false angesehen und man käme in die else-Schleife.
Grüße von hier drinnen, aus Biberach an der Riss,
Dogfish