HTML & CSSJavascriptPerlPHPIndex | Download | Suche 

SYNTAX
Allgemeines | Konstanten | Variablen | Zeichenketten | Zahlen | Operatoren | Kontrollstrukturen | Funktionen, Subs | Bibliotheken | Ein- und Ausgabe | Dateien lesen& schreiben | Suchen& ersetzen | reguläre Ausdrücke | Module
WEITERES Beispiel- Perlscripts | Links zum Thema Perl


Kontrollstrukturen



bedingte Anweisungen

if/ unless, else, elsif

Beispiele

(if/ unless, else, elsif)


#!/usr/bin/perl

$W = $ENV{'HTTP_USER_AGENT'} =~ /95/ ? "Win 95/NT" : "kein Win 95/NT";
print "Content-type: text/html\n\n";
print "<html><head><title>User</title></head>\n";
print "<body>\n";
print "<h1>Sie haben ", $W, "!</h1>\n";
print "</body></html>\n";
exit(0);

'Da es sich um Werte handelt, die für die Weiterverarbeitung nur sinnvoll sind, wenn sie in einer Variablen gespeichert werden, wird einer solchen Entweder-Oder-Abfrage in der Regel eine Variable vorangestellt, im Beispiel der Skalar $W.' (SelfHTML, siehe auch Javascript: alternative Syntax f. if/else)



Schleifen

Schleifen werden so lange durchlaufen, bis eine bestimmte Bedingung erfüllt ist.


while/ until

#!/usr/bin/perl

$i = 1;
print "zuerst die Wurzeln von 1 bis 10...\n\n";
while($i <= 10)
 {
  print "Die Wurzel von ", $i, " ist ", sqrt($i), "\n";
  $i++;
 }
$i = 1;
print "und jetzt die Quadratzahlen von 1 bis 10...\n\n";
until($i > 10)
 {
  print "Das Quadrat von ", $i, " ist ", $i * $i, "\n";
  $i++;
 }


do ... while/ until

#!/usr/bin/perl

$Name = "Stefan";
do
 {
  print $Name, "\n";
  $Name = "Virtuella";
 }
while($Name ne "Virtuella")


for/ foreach

Beispiele
#!/usr/bin/perl

for($i=0;$i<=255;$i++)
 {
  printf("%4d = %2X",$i, $i);
 }


 #!/usr/bin/perl

@Alphabet = (A..Z);
for(@Alphabet)
 {
  print $_, " ist der ", $i+1, ". Buchstabe im Alphabet\n";
  $i++;
 }


#!/usr/bin/perl

foreach $i (1..100)
 {
  next if $i % 2 == 0;
  print $i, "\n" if $i % 3 == 0;
 }

Erstes Beispiel: for C-konform: 3 Anweisungen- 1. Variable definieren, 2. Endbedingung festlegen, 3. Anweisung festlegen, so dass die Endbedingung erreicht wird, z.B. $i++.
Zweites Beispiel: for , Perl- typisch, nützlich zur Abarbeitung von Arrays oder Hashs. Dabei hilft die vordefinierte Variable $_, welche den gerade aktuellen Wert der Variablen darstellt.
Drittes Beispiel: foreach. Mit einer solchen Schleife können alle Elemente eines Arrays abgearbeitet werden. Als Schleifenbedingung wird ein eindeutiger Bereich definiert, z.B. eine Zahlen- oder Zeichenmenge.



Sprungbefehle

goto : Springt zu einer bestimmten, mit einem Label versehenen Stelle ( Labelname: ).
next : Abbruch des aktuellen Schleifendurchgangs.
redo : Abbruch des aktuellen Schleifendurchgangs. 'Der nächste Schleifendurchgang wird gestartet, allerdings ohne daß die Schleifenbedingung neu bewertet wird.'
last : Abbruch der Schleife.
continue : Perl- Spezialfall.

Beispiele:

#!/usr/bin/perl

# Raten Sie mal, welche Zahl $i am Ende als Ergebnis ausgibt

$i = 1;
goto Ergebnis;
while($i < 1000)
 {
  ++$i;
  if($i % 3 == 0)
   {
    redo;
   }
  elsif($i % 7 == 0)
   {
    next;
   }
  elsif($i % 13 == 0)
   {
    last;
   }
  elsif($i % 17 == 0)
   {
    continue;
   }
 }
Ergebnis:
print "Ergebnis: ", $i;



#!/usr/bin/perl

while($i < 10)
 {
  ++$i;
  if($i % 2 != 0)
   {
    redo;
   }
 }
continue
 {
   print $i, "\n";
 }


if/ unless, else, elsif, while/ until, do ... while/ until, for, foreach | Abweichungen zu PHP