Suche…


Conditionals

Perl unterstützt viele Arten von bedingten Anweisungen (Anweisungen, die auf booleschen Ergebnissen basieren). Die häufigsten Bedingungsanweisungen sind if-else (sofern nicht) und ternäre Anweisungen. given Anweisungen werden als switchartiges Konstrukt aus C-abgeleiteten Sprachen eingeführt und sind in den Versionen Perl 5.10 und höher verfügbar.

If-Else-Anweisungen

Die grundlegende Struktur einer if-Anweisung sieht folgendermaßen aus:

if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK ...
if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK

Bei einfachen if-Anweisungen kann das if dem auszuführenden Code vorangehen oder folgen.

$number = 7;
if ($number > 4) { print "$number is greater than four!"; }

# Can also be written this way
print "$number is greater than four!" if $number > 4;

Schleifen

Perl unterstützt viele Arten von Schleifenkonstrukten: for / foreach, while / do-while und bis.

@numbers = 1..42;
for (my $i=0; $i <= $#numbers; $i++) {
    print "$numbers[$i]\n";
}

#Can also be written as
foreach my $num (@numbers) {
    print "$num\n";
}

Die while-Schleife wertet die Bedingung aus, bevor der zugehörige Block ausgeführt wird. So wird der Block manchmal nie ausgeführt. Der folgende Code wird beispielsweise niemals ausgeführt, wenn das Dateihandle $fh das Dateihandle für eine leere Datei ist oder wenn es bereits vor der Bedingung erschöpft ist.

while (my $line = readline $fh) {
    say $line;
}

Die do / while und do / until Schleifen hingegen bewerten die Bedingung nach jeder Ausführung des Blocks. So wird ein do / while oder eine do / until Schleife immer mindestens einmal ausgeführt.

my $greeting_count = 0;
do {
    say "Hello";
    $greeting_count++;
} until ( $greeting_count > 1)

# Hello
# Hello


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow