Wie erstellen Sie eine Endlosschleife in Perl

Es gibt mehrere Möglichkeiten, wie man eine endlos-Schleife in Perl.

Verwenden while

Der erste Weg, mit dem Sie erstellen Sie eine Endlosschleife ist Zyklus while. Diese Schleife wird ausgeführt, solange der Ausdruck wahr ist. Sie können als Ausdrücke schreiben eine einfache Konstante, das ist die Wahrheit und in diesem Fall der Zyklus wird auf unbestimmte Zeit laufen. Hier ist der Beispielcode:

#!/usr/bin/perl

while (1) {
    # some code
}

Sie beenden diesen Zyklus, dann im Körper der Schleife ausführen müssen last. Hier ist ein Beispiel:

▶ Run
#!/usr/bin/perl

my $i = 0;
while (1) {
    print $i;
    last if $i > 2;
    $i++;
}

Bitte beachten Sie, dass die Schleife zu verlassen verwenden Sie das Schlüsselwort last, aber nicht returnund nicht break.

Verwenden for

Das ist, wie Schreibe ich eine Endlosschleife in der Programmiersprache Perl c über for:

#!/usr/bin/perl

for (;;) {
    # some code
}

Nach for in Klammern geht die 3 Code-snippets:

  • der Anfangswert
  • überprüfen
  • ändern

In der Regel Körper der Schleife wird ausgeführt wenn die Prüfung ergibt wahr. Aber wenn die überprüfung fehlt, in diesem speziellen Fall ergibt sich eine Endlosschleife.

Um aus dieser Endlosschleife zu verwenden last:

▶ Run
#!/usr/bin/perl

for (my $i = 0;;$i++) {
    print "$i";
    last if $i > 2;
}

Verwenden until

Hier ist ein weiterer Weg, wie man eine endlos-Schleife in Perl:

#!/usr/bin/perl

do {
    # some code
} until(0)

Codeblock wird ausgeführt, solange die Bedingung in until ist eine Lüge.

Um aus dieser Endlosschleife auch, müssen Sie das Schlüsselwort last, aber damit es richtig funktioniert müssen Sie den gesamten Code eine Endlosschleife in geschweifte Klammern:

▶ Run
#!/usr/bin/perl

my $i = 0;

{
    do {
        print $i;
        last if $i > 2;
        $i++;
    } until(0)
}

Hier ist ein Beispiel, in dem wir versuchen, verwenden last, aber nicht обрамляем Code Klammern:

▶ Run
#!/usr/bin/perl

my $i = 0;

do {
    print $i;
    last if $i > 2;
    $i++;
} until(0)

Wenn Sie diesen Code ausführen, dann wird der Fehler:

Can't "last" outside a loop block at script.pl line 7.
0123

Verwandte Themen

Andere Artikel