Login
Immer anmelden
SSL Login

 
Newsletter
Werbung
Shopping
International Shopping
 
 


Yatego Shopping bei über 10000 Händlern und über
3 Mio. Artikel.


Linux

:

Linux-Bücher

Handy
Shop

  und Computer.

Viele Services

:

Apple iPad Reader,


Ratgeber,

 

Techniktops,

 

Yatego Clicks

  & über 3000

Gutscheine.

 
Fr, 11. Juni 1999, 00:00

Perl/CGI-Workshop, Teil 6

Kontrollstrukturen (1)

Die Kontrollstrukturen von Perl wurden zum größten Teil aus C/C++ übernommen. Allerdings sind die geschweiften Klammern Pflicht:

<em>#!/usr/bin/perl</em>
<em># ifexamp.pl -- by W. Jährling</em>
print "Gibt es etwas Besseres als Linux? (j/n) ";
$meinung = <STDIN>;
chomp $meinung; <em># Schneidet das Newline-Zeichen ab.</em>
if ($meinung eq "n") { <em># "eq" prüft Strings auf Gleichheit</em>
 print "Richtig!\n";
}

In diesem Beispiel ist kein else-Zweig nötig, da niemand jemals mit "j" antworten wird ;). In anderen Situationen kann es aber recht nützlich sein, auch eine Alternative zu haben:

<em>#!/usr/bin/perl</em>
<em># alternate.pl -- by W. Jährling</em>
print "Dateiname: ";
$datei = <STDIN>;
if (not open(DATEI, "< $datei")) {
 print STDERR "Konnte Datei nicht öffnen\n";
} else {
 @inhalt = <DATEI>;
 close(DATEI);
 print @inhalt;
}
<em># ...</em>
print "Programm beendet!\n";

In Perl können sowohl die in C/C++ üblichen Operatoren ("!", "||", "&&" etc.) als auch die aus anderen Sprachen bekannten ("not", "or", "and") verwendet werden.

Die "while"-Schleife funktioniert nach dem gleichen Muster:

<em>#!/usr/bin/perl</em>
<em># while.pl -- by W. Jährling</em>
@sinnlos = 1 .. 7;
while (@sinnlos) { <em># Solange es keine leere Liste ist</em>
 pop @sinnlos;
}
$file = "irgendwas.htm";
open(DATEI, "< $file") or die "Konnte Datei nicht öffnen!\n";
<em># (So öffnet man Dateien in Perl üblicherweise)</em>
while ($zeile = <DATEI>) {
 <em># $zeile verarbeiten</em>
}
close(DATEI);

Zur Zeile, in der hier die Datei geöffnet wird, muss wohl noch etwas gesagt werden. Beim Operator "or" wird zuerst die linke Seite ausgewertet. Wenn der Ausdruck dort "true" ergibt, wird der Ausdruck rechts gar nicht mehr ausgewertet, da das Gesamtresultat ohnehin "true" ist. Wenn die Funktion open() erfolgreich war, wird also der or-Teil nicht mehr ausgeführt. Die Funktion die() schreibt den ihr übergebenen Text nach STDERR und beendet das Programm.

Im nächsten Kapitel werden wir die "for"- und die "foreach"-Schleife betrachten.


[<< Zurück] [Weiter >>]
Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Forum
Neue Nachrichten