
die if Bedingung
der Ternary Operator
die else Bedingung
die elseif Bedingung
Operatoren für das Arbeiten mit Zeichenketten
Mit der if Bedingung wird schon in allen
anderen Kapiteln dieses Handbuches gearbeitet. Eigentlich
ist sie selbsterklärend. Die if Bedingung kommt wohl
in jeder Programmiersprache vor.
Den einfachsten Fall einer if Bedingung zeigt das nächste
Beispiel:
$var1=5;
$var2=7;
if ($var1 <7)
{
print "$var1 ist kleiner als $var2";
}
Zur Verfügung
steht alles, was aus der Mathematik bekannt ist. (<,>,>=,>=,==).
Exotisch ist vielleicht der <=> Operator:
$var1=5;
$var2=7;
print $var2 <=> $var1, "\n";
print $var1 <=> $var2, "\n";
print $var1 <=> $var1, "\n";
Als Ergebnis erhalten wir: 1,-1
und 0.
-
1 weil $var2 größer ist als $var1
-
-1 weil $var1 kleiner ist als $var2
-
0 weil $var1 genau so groß ist wie
$var1
Das Ergebnis des Vergleichs mittels Operatoren
kann mit dem Ausrufezeichen umgekehrt werden:
$var1=5;
$var2=7;
if(!($var1 > $var2))
{
print "Stimmt zwar nicht, aber wir drucken trotzdem was";
}
Mit dem Ternary Operator gibt es für
einfache Fälle auch eine Kurzschreibweise:
$var1=5;
$var2=7;
$var1 > $var2 ? print "Var1 ist kleiner als Var2" : print "Var2 ist groesser als Var1 \n";
$var1 < $var2 ? print "Var1 ist kleiner als Var2" : print "Var2 ist groesser als Var1 \n";
Abstrakt
formuliert, hat der Ternary Operator diese Syntax:
Bedingung ? Das, was passiert, wenn die Bedingung wahr
ist : Das, was passiert, wenn die Bedingung falsch ist;
Die else Bedingung ist wohl auch jedem
bekannt. Mit ihr wird angegeben, was passieren soll, wenn
die if Bedingung false ist:
$var1=5;
$var2=7;
if ($var1 > $var2)
{
print "Da komm ich nicht hin";
}
else
{
print "Aber das hier druck ich";
}
Bemerkenswert ist, dass Perl keine Case Anweisung
kennt. Gibt es eine Auswahl an Bedingungen, muss mit elseif
gearbeitet werden:
$var1=5;
$var2=7;
if ($var1 > $var2)
{
print "das wird nix";
}
elsif( $var1 == $var2)
{
print "das wird auch nix";
}
elsif($var1< $var2)
{
print "das isses. Einer kommt halt doch";
}
else
{
print "ich werde nicht gebraucht";
}
Gedruckt
wird in diesem Fall, "das isses. Einer kommt halt doch".
Die else Bedingung kommt dann zum Zuge, wenn keine elseif
Bedingung den Wert true zurück gibt.
| Operatoren
für das Arbeiten mit Zeichenketten |
|
Für das Arbeiten mit Zeichenketten gibt
es eigene Operatoren. Die wichtigsten sind: eq und
ne. Hierbei steht eq für equal und ne für
not equal:
$var1="A";
$var2="B";
if ($var2 ne $var1)
{
print "ich sage hallo, wenn $var1 ungleich $var2. Was hier der Fall ist";
}
if ($var2 eq $var1)
{
print "ich sage hallo, wenn $var1 gleich $var2. Was hier nicht der Fall ist";
}
|
 |