Sentencia redo en Perl

Perl 循环Bucles en Perl

La sentencia redo en Perl va directamente a la primera línea del cuerpo del bucle para repetir la iteración actual; las sentencias posteriores a redo y el bloque continue ya no se ejecutan.

La sentencia continue se puede usar en bucles while y foreach.

Sintaxis

El formato de sintaxis es el siguiente:

redo [LABEL]

Donde LABEL es opcional.

La sentencia redo con el modificador de etiqueta LABEL transfiere el control del bucle directamente a la primera línea del bloque de sentencias asociado al modificador de etiqueta LABEL para comenzar la ejecución, sin ejecutar las sentencias posteriores a redo ni el bloque continue;

La sentencia redo sin el modificador de etiqueta LABEL transfiere el control del bucle directamente a la primera línea del bloque de sentencias actual para comenzar la ejecución, sin ejecutar las sentencias posteriores a redo ni el bloque continue;

Si se encuentra en un bucle for o tiene un bloque continue, la lista de incremento del bucle for y el bloque continue tampoco se ejecutan;

Diagrama de flujo

Ejemplo

#/usr/bin/perl $a = 0; while($a < 10){ if( $a == 5 ){ $a = $a + 1; redo; } print "a = $a\n"; }continue{ $a = $a + 1; }

Al ejecutar el programa anterior, el resultado es:

a = 0
a = 1
a = 2
a = 3
a = 4
a = 6
a = 7
a = 8
a = 9

Perl 循环Bucles en Perl

Otras extensiones