Perl

¿Que es Perl?

  • Perl es un lenguaje de programación interpretado, es decir que el código no se compila convirtiéndolo en un ejecutable binario.
  • Fue desarrollado por Larry Wall en 1987
  • Asume ciertas características de C y del lenguaje de bourne shell (sh)

¿Para que sirve, cuando se emplea?

http://mercurio.ugr.es/pedro/tutoriales/cursos/perl/tutorial_perl.htm

http://bioinfo2.ugr.es/documentation/Perl_learn/ch01_02.htm

Minimum Viable Perl: http://mvp.kablamo.org

Perl is designed to assist the programmer with common tasks that are probably too heavy or too portability-sensitive for the shell, and yet too weird or short-lived or complicated to code in C or some other UNIX glue language.

Empezamos saludando al mundo

Para empezar, solo necesitaremos un editor para escribir el código. Los ficheros de Perl suelen tener extensión ‘pl’. Empezamos creando un fichero ‘hello.pl’. Para ejecutar nuestro primer programa podemos usar:

perl hello.pl

 

./hello.pl

 

#!/usr/bin/env perl ## https://perlmaven.com/hashbang
print "Hello, world!\n"; ## escribir en la pantalla (salida por defecto)

Explicaciones

  • si trabajamos con un SO tipo Linux, conviene definir la primera linea (hashbang) para que la shell sepa que hacer con el fichero
  • con # podemos añadir un comentario (el interprete ignora todo que escribimos despúes del #)

Leer desde la línea de comando y guardar la información en una variable (scalar)

print "What is your name? ";
$name = <STDIN>; # leer de la entrada por defecto (standard input)
chomp($name) # eliminar el retorno de carro
print “Your name is $name”;

Explicaciones

  • en una variable de tipo scalar ($) podemos guardar tanto números como cadenas de caracteres (Strings)
  • hay 3 tipos de variables: scalares ($), arrays (@) y arrays asociativos (%)

Tomando decisiones: esctructuras de control

#!/usr/bin/perl

use warnings;

print "What is your name? ";
$name = <STDIN>;
chomp($name);

 

if ($name eq "Michael") {   #sentencia condicional
 print "Hello, Michael! How good of you to be here!\n";
}
else {
  print "Hello, $name!\n"; # ordinary greeting
}

Explicaciones

  • eq = operador que compara dos Strings y devuelve ‘true’ si son iguales
  • bloques de código se definen mediante el uso de llaves {}

Más ejemplos: Variables, condicionales y bucles