Las estructuras de control básicas de Perl son similares a las que se usan en C y Java , pero se han ampliado de varias maneras.
A continuación, la etiqueta es un identificador opcional que termina con dos puntos y el bloque es una secuencia de una o más declaraciones de Perl rodeadas por llaves. Todas las construcciones de bucle, excepto el estilo C for
-loop, pueden tener un continue
bloque que se ejecuta después de cada iteración del cuerpo del bucle, antes de que la condición del bucle se evalúe nuevamente.
Este es el llamado ciclo de estilo C. for
La primera expresión se evalúa antes de la primera iteración del ciclo. La segunda expresión se evalúa antes de cada iteración y el ciclo finaliza si se evalúa como falso. La tercera expresión se evalúa después de cada iteración, antes de decidir si realizar la siguiente. Este for
bucle es la única construcción de bucle que no puede tener un continue
bloque, pero expr3 es funcionalmente equivalente.
En foreach
, var es una variable escalar cuyo valor predeterminado es $_
si se omite. Para cada elemento de list , var tiene un alias para el elemento y el cuerpo del bucle se ejecuta una vez. Las palabras clave for
y foreach
son sinónimos y siempre son intercambiables.
El while
bucle ejecuta repetidamente el cuerpo del bucle siempre que la expresión de control sea verdadera. La condición se evalúa antes que el cuerpo del bucle. until
es similar, pero ejecuta el cuerpo del bucle siempre que la condición sea falsa.
La construcción del bloque de etiquetas es un poco rara: Perl trata un bloque desnudo, con o sin etiqueta, como un bucle que se ejecuta una vez. Esto significa que las palabras clave de control de bucle se pueden usar para reiniciar el bloque o para salir de él antes de tiempo; un bloque desnudo también puede tener un bloque.continue