Buscar..


Condicionales

Perl admite muchos tipos de sentencias condicionales (sentencias que se basan en resultados booleanos). Las declaraciones condicionales más comunes son if-else, menos, y declaraciones ternarias. given declaraciones given se introducen como una construcción similar a un interruptor de lenguajes derivados de C y están disponibles en las versiones Perl 5.10 y superiores.

Declaraciones If-else

La estructura básica de una sentencia if es así:

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

Para las sentencias if simples, el if puede preceder o suceder al código que se ejecutará.

$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;

Bucles

Perl admite muchos tipos de construcciones de bucle: for / foreach, while / do-while y hasta.

@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";
}

El bucle while evalúa el condicional antes de ejecutar el bloque asociado. Entonces, a veces el bloque nunca se ejecuta. Por ejemplo, el siguiente código nunca se ejecutaría si el $fh fuera el identificador de archivo para un archivo vacío, o si ya estaba agotado antes del condicional.

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

Los bucles do / while y do / until , por otro lado, evalúan el condicional después de cada vez que se ejecuta el bloqueo. Por lo tanto, un bucle do / while o do / until siempre se ejecuta al menos una vez.

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow