web stats
Back
Featured image of post Introducción a Perl - 4

Introducción a Perl - 4

Vamos con la cuarta parte de este bloque. Aquí veremos qué son, y como tratar con condicionales y bucles.

Introducción a Perl - 4

if

Se usa para declarar condicionales, las cuales se utilizan para comprobar si una condición dada se cumple o no. En caso de que se cumpla, se continúa leyendo y ejecutando el script. Si no se cumple la condición, se salta el bloque.

Se puede interpretar como: «Si esto se cumple, haz esto«

print "Dime un numero mayor que 0: ";
$respuesta = <>;
if ($respuesta <= 0)
    {
    print "el numero es igual o menor que 0.";
    exit;
    }
print "Has indicado el numero $respuesta";
c:\Temp>perl perl.pl
Dime un numero mayor que 0: 4
Has indicado el numero 4

c:\Temp>perl perl.pl
Dime un numero mayor que 0: 0
el numero es igual o menor que 0.
c:\Temp>

if y else

Se puede interpretar como: «Si esto se cumple, haz esto. Si no se cumple, haz esto otro»

print "Dime un numero mayor que 0: ";
$respuesta = <>;
if ($respuesta <= 0)
    {
        print "ERROR: el numero es igual o menor que 0.\n";
        exit;
    }
else
    {
        print "OK: el numero es mayor que 0.\n";
    }    
print "Has indicado el numero $respuesta";
c:\Temp>perl perl.pl
Dime un numero mayor que 0: 0
ERROR: el numero es igual o menor que 0.

c:\Temp>perl perl.pl
Dime un numero mayor que 0: 6
OK: el numero es mayor que 0.
Has indicado el numero 6

if, else y elsif

Se puede interpretar como: «Si esto se cumple, haz esto. Si no se cumple pero se cumple esto, haz esto. Si tampoco se cumple, haz esto.»

print "Dime un numero entre 0 y 50: ";
$respuesta = <>;
if ($respuesta <= 0)
    {
        print "ERROR: el numero es igual o menor que 0.\n";
        exit;
    }
elsif ($respuesta > 50)
    {
        print "ERROR: el numero es mayor de 50.\n";
    }
else
    {
        print "OK: el numero es mayor que 0 y menor que 50.\n";
    }    
print "Has indicado el numero $respuesta";
c:\Temp>perl perl.pl
Dime un numero entre 0 y 50: 0
ERROR: el numero es igual o menor que 0.

c:\Temp>
c:\Temp>
c:\Temp>
c:\Temp>perl perl.pl
Dime un numero entre 0 y 50: 55
ERROR: el numero es mayor de 50.
Has indicado el numero 55

c:\Temp>
c:\Temp>
c:\Temp>perl perl.pl
Dime un numero entre 0 y 50: 15
OK: el numero es mayor que 0 y menor que 50.
Has indicado el numero 15

for

Se puede utilizar tanto for (estilo C), como foreach, ya que son sinónimos.

El bucle for tiene 3 partes en la sección de control:

  • Initialize
  • Test
  • Step
    for (INITIALIZE; TEST; STEP) {
      BODY;
    }

Por ejemplo:

    for (my $i=0; $i <= 9; $i++) {
       print "$i\n";
    }
c:\Temp>perl perl.pl
0
1
2
3
4
5
6
7
8
9

c:\Temp>

Respecto al bucle foreach, se definiría de la siguiente forma:

    foreach my $i (0..9) {
      print "$i\n";
    }

Se puede hacer un bucle infinito así:

    for (;;) {
      # hacer algo
    }

Aunque es más normal utilizar while

while (1) {  # hacer algo}

while

El bucle while es algo similar a for, pero en este caso se ejecuta mientras la condición sea verdadera.

my $counter = 0;
 
while ($counter < 20) {
  print "$counter\n";
  $counter += 2;
}
print 'done';
comments powered by Disqus
Creado con Hugo