![]() |
![]() |
Perl "Practical Extraction and Report Language" es un lenguaje que permite manipular de una manera muy flexible cualquier archivo de texto que exista en un sistema, y considerando que Unix esta basado primordialmente en archivos de texto lo hace una herramienta complementaria perfecta.
Para ejectuar un programa en Perl es necesario que este inicie con: #!/usr/local/perl
, esta linea indica la ubicación del interpretador Perl en el sistema (notese la similitud con un archivo de Shell que debe iniciar con: #!/bin/sh
).
Perl por "default" lee variables e imprime resultados a lo que es denominado STDIN (Standard Input) y STDOUT (Standard Output), en otras palabras: la terminal (pantalla) en donde se esta ejecutando el programa, sin embargo, como se observará en otras secciones de esta guia el punto más fuerte de Perl es que es capaz de leer variables e imprimir resultados a archivos del sistema ("flat files") , lo cual lo hace un substituo limitado pero ideal para una base de datos .
chomp
#!/usr/bin/perl print "Que piensa de Perl ?"; $pensamiento = <STDIN> ; chomp ($pensamiento); print " Realmente piensa que perl $pensamiento ?\n"; |
Notese que toda declaración termina en " ; "
, para imprimir a pantalla se utiliza el comando print
y para asignar variables se utiliza " $ "
, la " \n "
significa un salto de renglón; una función que merece atencial especial es chomp
, esta funcion elimina el salto de renglon " \n "
que siempre es agregado a toda variable que es leeida de STDIN, a continuación se muestra un diagrama, el programa de la parte superior utiliza chomp
y la parte inferior no lo utiliza.
En perl también es posible decalrar arreglos y "hashes" de texto, un arreglo es basicamente una lista de elementos , mientras un "hash" es una lista de elementos que permite asignar cierto valor a una variable.
#!/usr/bin/perl @nacionalidades = ("mexicano","argentino","brasileiro"); .... $norte = $nacionalidades[0]; $centro = $nacionalidades[2]; $sur = $nacionalidades[1]; ..... |
El parametro " @ "
indica un arreglo, mientras los " [ ]
" con el número de la lista son utilizados para referenciar el valor de la lista.También es posible declarar un arreglo sin la necesidad de " "
, para esto se utiliza la función qw
:
@nacionalidades = qw(mexicano argentino brasileiro); |
Los hashes a diferencia de los arreglos asignan un valor al elemento de la lista:
#!/usr/bin/perl %sis_operativo = qw ( linux economico solaris oneroso windows una_mierda aix dificil ); .... .... $calificativo1 = $sis_operativo{linux}; $calificativo2 = $sis_operativo{solaris}; $calificativo3 = $sis_operativo{windows}; $calificativo4 = $sis_operativo{aix}; ...... ..... |
El parametro " % " define el inicio de un "hash", mientra los " { } " con el valor del "hash" son utilizados para llamar su valor.
Estas dos operaciones juegan un papel muy importante para Perl; suponga que esta actualizando un "flat file" con una lista de usuarios, seguramente antes de actualizarla establecerá un estandar como: todas las letras en minusculas, eliminar puntos adicionales , o quizas desee eliminar todos los registros que tengan 6 meses de antiguedad automaticamente, estas funcionalidades son las que ofrecen las substituciones y traducciones en Perl.
Ambos elementos utilizan lo que es denominado "regular expressions" para substituir y traducir elementos, debido a que "regular expressions" es un tema muy amplio , solo se mencionaran algunas "regular expressions" con una pequeña explicación.
$domicilio =~ tr/a-z/A-z/; #Traduce todas las minusculas de la variable $domicilio a mayusculas
$nombre =~ s/^/Nombre: /; # Anexar(substituir) al inicio de la variable $nombre el elemento
|
Los "Splits" y "Joins" también forman una parte muy importante al manipular información de archivos. Asumiendo que tiene el siguiente "flat file" separado por " : " es posible utilizar un "Split" para extraer su contenido.
$renglon = "daniel:ensenada:mexico:25"; @parametros = split(/:/,$renglon); # El arreglo contine lo siguiente: # @parametros = ("daniel","ensenada","mexico","25") # y puede ser manipulado cada elemento dentro del arreglo @parametros |
También es posible utilizar el elemento join
para unir los elementos de un arreglo y anexar cualquier elemento especificado.
@parametros = ("daniel","ensenada","mexico","25"); $renglon_unido = join(":", @parametros); # La variable $renglon ahora contiene lo siguiente: #$renglon = "daniel:ensenada:mexico:25"; |
En Perl también se pueden definir funciones y ciclos ( for,while's
), algunos serán mencionados conforme avanze esta guia.
Le intereso el contenido ? | Quizas requiera un servicio de Tecnologia ? | Le gustaria que le avisaramos de nuestras actualizaciones ? |
Recomiende esta pagina a un amigo | Servicios OsmosisLatina | Agregese a la lista de correo de OsmosisLatina |
webmaster@osmosislatina.com | ©2000-2001 OsmosisLatina |