Está en la página 1de 35

Programación Básica en Perl

Profesor: Leonardo Vargas Peña


¿Qué es Perl?

Perl es un lenguaje de programación diseñado por


Larry Wall en 1987. Perl toma características del
lenguaje C, del lenguaje interpretado shell (sh), AWK,
sed, Lisp y, en un grado inferior, de muchos otros
lenguajes de programación. Estructuralmente, Perl está
basado en un estilo de bloques como los del C o AWK,
y fue ampliamente adoptado por su destreza en el
procesado de texto y no tener ninguna de las
limitaciones de los otros lenguajes de script.
¿Qué es Perl?
¿Qué significa perl?
practical extraction report languaje

¿En qué año y quién es su creador?


1987-Larry Wall

¿Cuál es el proposito de perl?


Extraer informes de ficheros de texto y utilizar dicha
informacion para preparar informes.

¿De cuáles programas se baso larry wall para crearlo?


c++,awk,shell y sitema unix simplificado.
¿Qué es Perl?
¿Cuáles son las principales actividades de perl?
Administración de sistemas, desarrolo de web, programación en red y
desarrollo gui y era muy utilizado ya que no tenia limitaciones con
otros lenguajes de script.

¿Cuántas clases de perl hay?


1987- se dio la primera version perl 1.0 se expande facilmente
perl 2.0 -1988 aporto un mejor motor de expresiones regulares
perl3.0 publicado en 1989 añdio un mejor soporte para numeros
binarios
perl 4.0 1991 se identifica con el libro.
el libro del dromediario que era una documentacion simple y cada vez
mas larga,pagina manual de unix.
¿Qué es Perl?
Perl 5.6 aparece hasta el 17 de diciembre de 1994. Popular reescritura
y y añadio mas caracteristicas.Se eliminan numeros y errores.Incluye
soporte pleno de caracteres internacionales hebreos y mejor
compilador. ¿Cuál es la clase de perl mas completa?
perl 4.0 la mejor la mas conocida ,el del libro del camello 1991-1993
por los servidores de internet y originalmente administracion de
sistemas.

¿Porqué perl no es considerado un programa sino un script?


por que hereda interpretes de comando unix especialmente csh,awk y
shell.y compite con los programas antes de ejecutarlos.

¿Qué extensiones se utilizan para perl?


con apache (mod-perl) y se ejecuta directamente perl desde el servidor
de http
¿Qué es Perl?
¿Qué modulos adicionales se utilizan?
dbd o dbc accede abases de datos dede bd, gratuitas
como sirve micrisoft mysqly sql.

¿Qué requerimientos se deben tener para utilizar perl?

1-Editor de texto para poder escribir los programas


realizados en perl.
2-combinacion de caracteristicas de shell y operadores
de unix y la sintasis de c++.
awk para formatear y tratamineto de texto e incluso se
utiliza las caracteristicas de pascal.
¿Qué es Perl?
¿Por qué perl es tan utilizado?
1- Administracion de sistemas,informacion de ficheros
y realizar busquedas.
2-Creacion de formularios en la web script cgi
intercambio de informacion al cliente en www mando
al servidor atraves de un formulario.

¿Cuáles son los lenguajes mas populares en la creacion


de aplicaciones.
phyton,phpy perl.
¿Qué es Perl?
¿Cuáles son los tipos de datos de perl?
ESCALAR:cracter $almacena numeros strings descriptiva.
ARREGLOS:variables array la variable @sirve para agrupar
variables de tipo escalar.
HASH:variable detipo array y hash asociativo empiean% lista
de valores atraves de la clave por un largo indice y elementos
que accedan por claves y no por claves duplicadas.

¿Que nos permite hacer la estructura de control?


permite ejecutar un conjunto de instrucciones cunado se
verifica una condicion itinerariamente, un bloque de sus
instrucciones mientras sea válida.
Instalación de Perl
Hoy en día todas las distribuciones incluyen casi de serie un
intérprete de Perl, es decir, el intérprete de Perl se instala casi
por defecto (muy mínima debería ser las instalación para que
no se incluyera o quitarlo a propósito). Debido a la
característica que antes apuntabámos de su utilidad para
realizar tareas de administración del sistema.

Para instalar Perl (o instalar una versión actualizada), lo


primero que hay que decidir es si instalar una versión
compilada (binaria) o compilar nosotros mismos. Ambas cosas
(fuentes o binarios) se pueden encontrar en www.cpan.org para
multitud de Sistemas Unix ( y otros no Unix).
Instalación de Perl
Si te bajas una versión compilada y específica para tu
sistema, simplemente ejecutas el binario que te bajes
(descomprimiéndolo si estuviera comprimido) o
instálandolo con rpm -Uhv perl_compilado.rpm si es
un fichero rpm. El único problema que te puedes
encontrar es que te haga falta alguna librería, y ahí es
donde se complican las cosas, también tendrás que
instalarla. Si optas por bajarte el código fuente
agrupado en un fichero tar.gz (o .tgz), lo primero que
tienes que hacer es descomprimirlo. Con:
tar xvfz perl_codigofuente.tar.gz
Instalación de Perl

o si tiene extensión .tar.bz2 con:


tar xvfj perl_codigofuente.tar.bz2
y si tu sistema es un poco viejo con:
tar xvfI perl_codigofuente.tar.bz2
Si por casualidad tuviese la extensión .Z. Se tendría
que hacer en dos pasos:
gzip -d perl_codigofuente.tar.Z
tar xvf perl_codigofuente.tar
Instalación de Perl
Una vez descomprimidos el código fuente de Perl, lo
aconsejable es leer los ficheros README e INSTALL,
por lo que pudiera pasar o por lo que nos pudiera faltar.
Una vez llegados a este lo pasos a seguir son los
mismos que compilar casi cualquier aplicación en
Linux:
./configure
make
make install
Con lo anterior, primero, se configura (si puede) para
nuestro sistema, segundo, se compila el código del
intérprete y, tercero, se instala.
Comprobación de la Instalación
Primero comprobemos qué versión de Perl tenemos. Para ellos
escribimos en el terminal:
$ perl -v
Que a mi me devuelve:

This is perl, v5.8.5 built for i386-linux-thread-multi


(with 1 registered patch, see perl -V for more detail)

Copyright 1987-2004, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on


this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.
Comprobación de la Instalación
Además podéis recordar con qué opciones se puede
invocar el intérprete si escribís:
$ perl -h
Las opciones más importantes podrían ser:
Usage: perl [switches] [--] [programfile] [arguments]
...
-d[:debugger] run program under debugger
-e program one line of program (several -e's allowed, omit programfile)
-v print version, subversion (includes VERY IMPORTANT perl info)
-w enable many useful warnings (RECOMMENDED)
-W enable all warnings
...
Creación del primer programa
Perl
Dentro del gedit escriban el siguiente código:
#!/usr/bin/perl
print "Hola Mundo/n";

Despues guardenlo en:


hola.pl

Ejecución de Script en Perl: Si está en UNIX/Linux,


con permisos de ejecución, con:
"./hola.pl" o " perl hola.pl".
Separación de instrucciones y
comentarios
Separación de intrucciones
Como podemos ver en el programa de ejemplo aunque tenga una sóla
instrucción, para separar las instrucciones, como en la mayoría de los
lenguajes de programación se utiliza el punto y coma (;). Esto que nos
puede parecer obvio será la fuente de las mayoría de los errores que
tengamos en nuestros programas en perl. Tiempo al tiempo.

Comentarios
Los comentarios en Perl sa hacen con el carácter de sostenido (#) y
ocupan el resto de la línea a partir de dicho carácter. A diferencia de
otros lenguaje no se utilizan comentarios multilínea. Si el comentario
aparece en la primera línea (sin espacios) del programa seguido con el
signo de admiración(#!), después tendremos que poner el PATH al
intérprete de Perl. Como hemos visto en nuestro primer ejemplo para
Linux y Windows.
Definición y Uso de Variables

$variable = valor;

print “El valor de la variable 'variable' es: $variable”;

Variable especial:

“$_”, contiene los datos ingresados por la entrada


estándar.
Arreglos de Variables

Definición de un arreglo:
@arreglo = (val1, val2, val3, ….);

Acceso a un valor del arreglo:


print “El valor 2 del arreglo es: $arreglo[2]”;

Acceso a todo el arreglo:


print “El arreglo completo contiene: @arreglo”;
Arreglos con etiquetas
%mi_arreglo(“valor1”, 10, “valor2”, 20, “valor3”, 30);
print “El valor1 es: $mi_arreglo{valor1}”;
Ejemplo:

%familia=(“papa”,47,“mama”,45,“hermano”,15,“herm
ana”,12);
print “Padre: $familia{papa}”;
print “Madre: $familia{mama}”;
print “Hermano: $familia{hermano}”;
print “Hermana: $familia{hermana}”;
Expresiones

#!/usr/bin/perl
# Ejemplo: Expresiones

$val1=2;
$val2=5;
print “Realizando Multiplicación …. ”;
$val3=$val1*$val2;
print “$val3”;
Expresiones
Operadores de Cadenas:

eq Comprarar la igualdad de dos cadenas.


ne Diferentes.
lt menor que.
gt mayor que.
. concatenación:
$nombre = “Carlos”;
$apellido = “López”;
$nombre_completo = $nombre.$apellido;
Expresiones

Operadores de números:

eq igual a...
ne diferente...
> mayor que
< menor que
>= mayor o igual que
<= menor o igual que
Ingreso de datos
$entrada=<STDIN>

Ejemplo:
#!/usr/bin/perl
print “Ingrese su edad:”;
$edad = <STDIN>;
print (“Su edad es: $edad”);

Eliminar el carácter retorno de carro del <STDIN>:


chop ($variable=<STDIN>);
La estructura If

if ( condicion ) {
Funciones......
}
else {
Funciones......
}
La estructura unless – condición
falsa

unless ( numero > 1000 ) {


print “Su número es menor que 1000!”;
}
La función while

while ( condición )
{
Funciones....
}
Ciclo for

for (expresion1; expresion2; expresion3 ) {


Funciones....
}

Asignación; Condición; Incremento:


$a=0; $a <=10; $a++
Escritura de datos en archivos
Abrir archivo en modo lectura:
open (NOMBRE, “archivo.ext”);

Abrir en modo escritura:


open (NOMBRE, “>archivo.ext”);

Abrir en modo escritura-adición:


open (NOMBRE, “>>archivo.ext”);

Agregar una cadena al archivo:


print NOMBRE “cadena”;
Escritura de datos en archivos

#!/usr/bin/perl
open (ARCHIVO, “>>file.txt”);
print “Ingrese su nombre: ”;
chop($nombre=<STDIN>);
print “Ingrese su apellido: ”;
chop($apellido=<STDIN>);
print ARCHIVO “$apellido, $nombre \n”;
close ARCHIVO;
Lectura de datos de un archivo
Abrir el archivo en modo lectura:
open (ARCHIVO, “file.txt”);

Abrir línea a línea un archivo:


#!/usr/bin/perl
open (ARCHIVO, “file.txt”);
$linea=<ARCHIVO>;
print $linea; … así sucesivamente.

Abrir un archivo en un ciclo:


#!/usr/bin/perl
open (ARCHIVO, “file.txt”);
while (<ARCHIVO){
Print $_;
}
close ARCHIVO;
Definición de Subfunciones
sub mi_funcion {
(…)
}

#!/usr/bin/perl
sub imprime {
print “\nEl contenido de los parámetros es “@_”;
}

imprime “Hola Mundo”;

@_ tiene guardados todos los parámetros de la función.


Ejecución de programas desde
Perl

system “ls”;

$salida=`ls -l`;
print “$salida”;
Investigar

Creación de páginas web en Perl y Python.

Acceso a Bases de Datos en Perl y Python.

Expresiones Regulares en Perl y Python.

(Una a dos páginas por punto)


Proyecto

Desarrollar dos páginas web, una en Perl y otra en


Python:
1) Acceso a BBDD para un mini-sistema de compra de
productos que usted quiera comercializar en el área de
la carrera.

2) Formateo según el criterio grupal de 4 archivos del


S.O. que se puedan ver en un formato más “humano”
desde la web
Bibliografía
http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Perl
http://es.wikibooks.org/wiki/Programaci
%C3%B3n_en_Perl/Tu_primer_programa
http://flanagan.ugr.es/perl/index2.htm

Buenos Tutoriales:

http://www.pablin.com.ar/computer/cursos/varios/perl1.htm
http://www.programacionfacil.com/perl:start
http://www.programacionfacil.com/perl:aplicacion

Buenos Ejercicios:
http://bioinfouab.uab.cat/scasillas/images/Resources/Curso
Perl/CursoPerl.asp