Some parts of this page were machine translated.
Powered by Yandex.Translate
http://translate.yandex.com/
Es gibt mehrere Möglichkeiten, wie man eine endlos-Schleife in Perl.
Es gibt mehrere Möglichkeiten, wie man eine endlos-Schleife in Perl.
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:
#!/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 return
und
nicht break
.
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:
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
:
#!/usr/bin/perl
for (my $i = 0;;$i++) {
print "$i";
last if $i > 2;
}
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:
#!/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:
#!/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