Hi Michael,
"if" ist keine Schleife - nur eine Verzweigung.
Ja, und im Buch "21 Tage Perl" (das liegt gerade am nächsten zu mir) steht noch, dass "if" eine
Bedingung ist, einverstanden?
Also das _if ($rc)_ ist mein Problem. Was passiert da?
In Perl ist jeder skalare Wert "true", der nicht 0 oder die leere
Zeichenkette ist.
(Hm, wie das mit undef ist, weiß ich gerade nicht auswendig.)
Also von 1 bis unendlich und a bis Z usw. (also strings z.B., jkhkhkh) ist alles true.
Na gut, ich komm auf Dich zurück! ;-)
Wenn Du also weißt, daß in $rc eine Zahl steht, dann ist
if ($rc)
gleichbedeutend mit
if ($rc != 0)
Also, zum mitdenken, "!=" bedeutet unterschiedlich/ungleich, dass heisst, ich kann die if-Verzweigung
auch so schreiben, richtig? Ja:
my $rc = 0;
if ($rc != 0)
{
$color = '#CFCFCF'; # 0 = dunkelgrau
$rc = 0;
}
else
{
$color = '#EFEFEF'; # 1 = hellgrau
$rc = 1;
}
Wie kommt man darauf, dass
if ($rc)
gleichbedeutend mit
if ($rc != 0)
ist? Oder hat man das einfach festgelegt, oder ist das Mathematik? Hätt ich dann wohl verpasst in der Schule!
Die Änderung von $rc läßt sich übrigens aus der Abfrage herausziehen
und die Zuweisung der Farbe etwas abkürzen:
$color = ($rc ? '#CFCFCF' : '#EFEFEF');
$rc = 1 - $rc;
So kommt man dann völlig ohne explizites "if" aus.
Michael, für so etwas brauch ich noch etwas Bedenkzeit...so auf den ersten Blick...
Viele Grüsse
Thomas N == Neu-User
:-)