Archivos en la Categoría: perl

Secuencias Numéricas Usando Dos Puntos En Perl

En el lenguaje de programación perl, podríamos escribir los números del 1 al 15, usando al forma básica con un arreglo:

#!/usr/bin/perl
#Este script imprime una 
#secuencia de numeros del 1 al 15

print(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);

O bien, podríamos hacer uso de la forma más económica siguiente, usando el operador de rango ..

#!/usr/bin/perl
#Este script hace uso del operador
#de rango .. para imprimir una 
#secuencia de numeros

print(1..15);

Ambos casos dan como resultado la salida

123456789101112131415

Vamos a revisar cada línea del programa:

#!/usr/bin/perl

Ésa es, como hemos visto, la llamada al intérprete de perl, y debe ir al principio de cada script.

#Este script hace uso del operador
#de rango .. para imprimir una 
#secuencia de numeros

Éstas líneas son unos comentarios, que indican de qué va el programa.

print(1..15);

Ésta línea es la parte importante del script. Un arreglo es un tipo de datos adecuado para almacenar una serie de elementos, creando así una lista. Los elementos de un arreglo son incluidos dentro paréntesis (). Dentro de ésos paréntesis, hemos escrito, en el primer programa, los números 123456789101112131415, en tanto que en el siguiente aparece 1..15. Esos dos puntos se llaman operador de rango. Éste operador funciona tomando el valor de la derecha y sumando 1 sucesivamente hasta alcanzar el valor numérico de la derecha. El siguiente script es un ejemplo de un uso distinto:

#!/usr/bin/perl
#Este script hace uso del operador
#de rango .. para imprimir una 
#secuencia de numeros

print(1,2,3,4..10,11);

Cada elemento del arreglo se separa por medio de una coma. Al llegar al elemento 4, aparece el operador de rango dos puntos, a partir de ahí se imprimen sucesivamente 5,6,7,8,9 y 10.
También es posible usar el operador con literales:

#!/usr/bin/perl
#Este script hace uso del operador
#de rango .. para imprimir una 
#secuencia de valores literales

print("A", "B".."z");

y la salida de éste script es la siguiente:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

La razón de que ocurra ésto es que en el código ASCII, las letras del alfabeto se representan con números consecutivos.

Hola Mundo en Perl

El lenguaje de programación Perl es el resultado de una suma de los lenguajes Sed y Awk junto con los Shell Scripts de Unix. Por lo tanto, fue pensado como un lenguaje para administrar sistemas operativos: editar/visualizar archivos, realizar reportes de estado, etc. Por lo mismo, hay quienes no lo llaman lenguaje de programación, sino lenguaje de scripts; sin embargo, ha evolucionado con el tiempo y es posible usarlo como lenguaje orientado a objetos y para crear aplicaciones web. Su creador es Larry Wall y su licencia es la artística de GNU. Originalmente se llamo pearl, pero ha devenido en perl. Ya que se trata de un comando Unix, entonces cualquier invocación a él se hace con minúsculas; sin embargo, para hacer resaltar el nombre, muchas personas se refieren a él como Perl. Como en todos los lenguajes, el primer programa es Hola Mundo.
La esencia de Perl es que puede ser usado para tareas simples que requerirían un código más o menos complicado en un lenguaje de programación como C. Está pensado como una utilidad poderosa de los sistemas Unix y por lo mismo, los programas cortos se ejecutan directamente desde la consola:

perl -e 'print"Hola, Mundo!\n";'

Esta es la forma más simple de escribir un Hola, Mundo! en perl.
La primera palabra invoca a perl, el cual está instalado en la mayoría de los Unix por default, la opción -e indica que deberá ejecutarse el código que aparece a continuación encerrado entre comillas sencillas.
La orden print es clara: hay que imprimir, y lo que hay que imprimir es justo lo que aparece encerrado entre comillas dobles después de print. Así pues, se imprime el mensaje “Hola, Mundo!” Pero qué es la diagonal invertida seguida de n que aparece a continuación; se trata de una secuencia de escape. Esa orden indica que, después de imprimir el mensaje, se debe colocar el promt justo al inicio de la siguiente línea. Si ese par de caracteres se suprimen, no pasa nada.
Al final hay un punto y coma. Todas las instrucciones en perl terminan con un punto y coma. En este caso particular, podría no ponerse, pero es conveniente incluirla siempre.
Con sólo teclear ENTER, aparecerá el mensaje en su pantalla

Hola, Mundo!

Sin embargo, también es posible guardar el código en un archivo y llamar al comando perl para la ejecución.

#!/usr/bin/perl
#Este es un comentario
 print("\n¡Hola, Mundo!\n");

Es necesario teclear lo anterior y guardarlo con la extensión .pl de esta manera estamos indicando que se trata de un archivo en Perl. La segunda línea es un comentario. Los comentarios documentan el programa y sirven solamente para que el programador sepa lo que el código hace. En este lenguaje, como en Shell Script, los comentarios inician con # y se prolongan hasta el próximo salto de línea. Sin embargo, Perl, al igual que los scripts incluyen en la primera línea una referencia al intérprete, que en este caso se encuentra en la dirección /usr/bin/perl Esto puede cambiar dependiendo del sistema operativo. Como norma, escriba la instrucción

$ which  perl

en una consola, y añada esa dirección al principio de sus programas a continuación de #!
La instrucción print es bastante clara; se usa para imprimir lo que viene a continuación. Bueno, casi todo; como en C y lenguajes derivados, las secuencias de escape no se imprimen, más bien sirven para indicarle al programa (en realidad a la computadora) que haga otra cosa. En particular \n indica salto de línea. Si lo omitimos, al terminar de ejecutar el programa dejará el promt justo después de Hola, Mundo, lo cual puede ser incómodo. Para compilarlo, en Unix, basta con escribir lo siguiente en la consola:

$ perl HolaMundo.pl

Lo cual produce la salida del texto

$ ¡Hola, Mundo!

=================================================================================
EJERCICIOS:
* Escriba un programa que imprima el mensaje “Bienvenido a Perl!”
* Escriba el mensaje anterior con cada palabra en una línea distinta.
* Haga los ejercicios anteriores usando una sola línea en la consola y guardando el código en un archivo.
=================================================================================
ENTRADA SIGUIENTE:
Las Secuencias de Escape en Perl