PDF de programación - Introducción al Lenguaje PERL

Imágen de pdf Introducción al Lenguaje PERL

Introducción al Lenguaje PERLgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 26 de Enero del 2018)
2.325 visualizaciones desde el 26 de Enero del 2018
102,7 KB
15 paginas
Creado hace 14a (09/07/2009)
09.07.2009

http://web.archive.org/web/20080207151...ataix.umag.cl/~mmarin/topinf/perl.html

#1

Introducción al Lenguaje PERL

(http://infodisc.es/abcd/tutoriales/program.html)

PERL es un lenguaje interpretado que tiene varias utilidades, pero está principalmente orientado a la búsqueda,
extracción y formateado de ficheros de tipo texto. También es muy usado para manejo y gestión de procesos (estado
de procesos , conteo y extracción de parámetros característicos, etc...).
Es una combinación de las características de los lenguajes más usados por los programadores de sistemas, como
son los shell del sistema operativo UNIX, los utilidad (que incluye un lenguaje interpretado propio) awk para formateo
y tratamiento de texto e incluso caracteristicas de Pascal, aunque su potencia se basa en la similitud con las mejores
características del lenguaje estructurado C. En general cualquier utilidad que se necesite realizar en sh, awk, o sed,
se puede implementar de una manera mas potente y sencilla mediante el lenguaje PERL.
 Algunas de las ventajas del uso del lenguaje PERL son las siguientes:

Construcción de pequeños programas que pueden ser usados como filtros para obtener información de
ficheros, realizar busquedas, ...
Se puede utilizar en varios entornos, como puede ser Windows 95, OS/2, ..., sin realizar cambios de código,
siendo unicamente necesario la introducción del interprete PERL correspondiente a cada sistema operativo.
También es uno de los lenguajes mas utilizados en la programación de CGI scripts, que son guiones o scripts
que utilizan el interface CGI (Common Gateway Interface), para intercambio de información entre aplicaciones
externas y servicios de información.
El mantenimiento y depuración de un programa en PERL es mucho más sencillo que la de cualquier programa
en C.

Un primer programa en PERL

En primer lugar para ejecutar un programa en PERL podemos hacer dos cosas:

Llamar desde la línea de comandos al interprete PERL, pasando como parámetro el nombre del programa.

% perl primer.pl
La extensión pl no es necesaria, pero se suele poner.
Añadir en la primera línea del programa lo siguiente :

 #! /usr/bin/perl
Ademas debemos cambiar los permisos del fichero fuente, para poderlo ejecutar.
Esto se realiza mediante la instrucción chmod:

  chmod u+x primer.pl
A continuación de la primera linea escribiríamos el guión del programa, y una vez hecho esto simplemente
invocaríamos el nombre del programa directamente desde la línea de comandos.

% primerl.pl

Los caracteres #! sirven para denotar que lo que viene a continuación hace referencia a un interprete de comandos.
 Por ejemplo un perl scripts que mostrará por la pantalla el mensaje HOLA MUNDO se haría de la siguiente forma:
 

#! /usr/bin/perl
print "HOLA MUNDO\n";

Tipos de datos en PERL

Perl tiene tres tipos de datos:

. 1 ESCALARES.
. 2 ARRAY DE ESCALARES.
. 3 ARRAYS ASOCIATIVOS DE ESCALARES.

El tipo de dato escalar es denotado mediante un nombre de variable precedido del simbolo $, y puede contener un
número , una cadena de caracteres, y una cadena de caracteres en la que alguno de los caracteres puede ser un
carácter especial.

09.07.2009

http://web.archive.org/web/20080207151...ataix.umag.cl/~mmarin/topinf/perl.html

#2

Por ejemplo, si queremos definir una variable de tipo escalar llamada número y que contenga el número 12 haríamos:

    $numero = 12;
Para almacenar una cadena de caracteres podemos hacer dos cosas:

Definir el contenido entre comillas simples, no interpretandose ningún carácter especial contenido entre ellas,
un ejemplo podría ser :

 $palabra = 'perros';
Definir el contenido entre comillas dobles , interpretandose cualquier caracter especial contenido entre ellas a
la hora de la impresión de la cadena, un ejemplo podría ser:

 $palabra = " perros \n";

Por  último, podemos definir varias variables al mismo tiempo utilizando los paréntesis por ejemplo:

($palabra1,$palabra2,$palabra3) = ("JUAN","PEPE","LUIS");
El tipo de dato array de escalares es denotado mediante un nombre de variable precedido del símbolo @. Un ejemplo
de inicialización de una variable de este tipo podría ser:

@frutas = ("manzana","pera","naranja","fresa");
El número de elementos menos uno de un array de escalares se puede obtener mediante el nombre de la variable
precedido de los simbolos $#, por ejemplo si queremos obtener el número de elementos de @frutas haríamos:

 $numero_de_elementos = $#frutas+1;
Para ser más exactos $# nos devuelve el último indice del array, así, si el valor para el primer indice es 0 el número de
elementos - 1 será el  último valor permitido para indexar el array.
El acceso a un elemento de un array se hace mediante un índice numérico de la forma $nom_variable [ indice ] ; asi,
si quisieramos acceder al tercer elemento de @frutas haríamos:

$2_elemento =  $frutas[2];
También podemos acceder a varios elementos de un array de la forma @nom_variable[indice1,...,indicen], por
ejemplo:

print @frutas[1,2];
imprimirá el elemento segundo y tercero del array @frutas.
Otra forma de indexar un array es usando el operador rango .. , si quisieramos imprimir todos los valores desde un
indice i hasta un indice j deberiamos utilizar el siguiente formato @nom_variable[i..j], por ejemplo:

print  @frutas[0..2];
imprimirá todos los elementos del array @frutas.
 Por último tenemos también el tipo de dato array asociativo de escalares, mediante este tipo de datos podemos
acceder a un determinado elemento de un array a través de una clave anteriormente definida, para denotar este tipo
de dato debemos preceder al nombre de la variable con el símbolo % . Un ejemplo de definición de claves y valores de
un determinado array asociativo podria ser:

%precio = ( "manzana",100,"pera",20,"naranja",30,"fresa",200 );
Si queremos acceder a un elemento de un array asociativo, debemos seguir el siguiente formato @nom_variable {
clave }, un ejemplo podría ser:

$numero_de_manzanas=10;
$gasto = @precio {"manzana"} * $numero_de_manzanas;

Sintaxis general

Como ya habrás podido observar todas las intrucciones de PERL deben terminar en ";".
Ejemplo

 $numero = 2; print $numero;
Además las únicas cosas que deben de ser declaradas en PERL son los formatos de salida o reports y las subrutinas.
Todas las variables creadas y no inicializadas tienen como valor por defecto nulo o cero. Los comentarios deben ir

http://web.archive.org/web/20080207151...ataix.umag.cl/~mmarin/topinf/perl.html

09.07.2009
precedidos del símbolo #. Ahora veremos de forma práctica el uso de las sentencias de control condicionales e
iterativas que suministra el lenguaje PERL para alterar el flujo de un programa.
 En primer lugar entenderemos como BLOQUE a todo conjunto de sentencias que se encuentren entre dos llaves, por
ejemplo lo siguiente sería un bloque:

#3

{
  $numero=2;
  print $numero;
}
Los bloques, además, pueden ser etiquetados anteponiendo a la llave de apertura el nombre de la etiqueta mas dos
puntos.
En segundo lugar entenderemos como EXPRESION a toda expresión cuya evaluación resulte ser un valor booleano, es
decir, verdadero o falso. Hay que tener en cuenta que en PERL se considera como verdadero todo valor no nulo luego
se pueden presentar como expresiones el resultado de una asignación,de una búsqueda etc...
 Una vez hechas estas consideraciones pasamos a ver la sintaxis de los distintos esquemas de control, que como ya
hemos dicho antes pueden ser:
Esquemas condicionales.
Esquemas iterativos.

Dentro de los primeros tenemos los siguientes formatos:
 

if (EXPRESION) BLOQUE. Un ejemplo de uso podría ser:

 print " PENSANDO UN NUMERO ....\n";
 
 $numero = rand(100);

 print "Introduce un numero del 1 al 100:";

 $entrada = <STDIN>;

 if($entrada == $numero) {print "Has acertado el numero\n";}

 if($entrada > $numero) {print "El numero introducido es mayor que el pensado.\n";}

 if($entrada < $numero) {print "El numero introducido es menor que el pensado.\n";}

 print " EL NUMERO PENSADO ERA:",$numero;
if (EXP) BLOQUE else BLOQUE. Un ejemplo podria ser:

 print " PENSANDO UN NUMERO ....\n";
 
 $numero = rand(100);

 print " Introduce un numero del 1 al 100:";
 
 $entrada = <STDIN>;

 if($entrada == $numero) 
  { 
     print "Has acertado el numero\n";
  }
 else
  { 
     if($entrada > $numero) 
      {
       print "El numero introducido es mayor que el pensado.\n";
      }
     else 
      {
       print "El numero introducido es menor que el pensado.\n";
      }
  }

if (EXP) BLOQUE elsif (EXP) BLOQUE .... else BLOQUE. Un ejemplo podria ser:

09.07.2009

http://web.archive.org/web/20080207151...ataix.umag.cl/~mmarin/topinf/perl.html

#4

 print " PENSANDO UN NUMERO ....\n";
 
 $numero = rand(100);

 print " Introduce un numero del 1 al 100:";
 
 $entrada = <STDIN>;

 if($entrada == $numero) 
  { 
    print "Has acertado el numero\n";
  }
 elsif($entrada > $numero)
  {
    print "El numero introducido es mayor que el pensado.\n";
  }
 else 
  {
    print "El numero introducido es menor que el pensado.\n";
  }
En lugar de if podemos usar unless que tiene el significado contrario.
Dentro de los esquemas iterativos tenemos:

while (EXP) BLOQUE . Mientras se cumpla la condición EXP se ejecutará todo lo que haya en bloque. Un ejemplo

podría ser:

 print " PENSANDO UN NUMERO ....\n";
 
 $numero = rand(100);

 $entrada = $numero+1;
 
 while ($entrada > $numero)
 {
   print " Introduce un numero del 1 al 100, menor que el pensado:";
 
   $entrada = <STDIN>;
 
   if($entrada > $numero) 
    {
      print "El numero introducido es mayor que el pensado.\n"; 
    }
 }

 print " EL NUMERO PENSADO ERA:",$numero;
 print "\n";
En lugar de while podemos usar until, que tiene el efecto contrario a éste. Si además queremos hacer la primera
comparación después de la primera iteración, podemos usar un esquema iterativo do BLOQUE until o do BLOQUE
while.

for (EXP;EXP;EXP), su uso es exactamente igual que en C; un ejemplo de uso sería:

  print "IMPRIMIENDO DEL 1 al 100:\n";
  getc;

  for($i=1;
  • Links de descarga
http://lwp-l.com/pdf8489

Comentarios de: Introducción al Lenguaje PERL (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad