expo perl utt

63
UNIVERSIDAD TECNOLÓGICA DE TECAMACHALCO Programación de Aplicaciones José Alberto Rojas Aragón Presenta: González Limón José Luis Rodríguez Navor María

Upload: telyco

Post on 13-Jun-2015

1.136 views

Category:

Education


6 download

DESCRIPTION

ESTA ES LA PRECENTACION DE LA INGENIERO Ma.ARACELI RODRIGEZ NAVOR Y EL INGENIERO JOSE LUIS GONZALEZ LIMON SOBRE LA PROGRAMACION DEL LENGUAJE PERL

TRANSCRIPT

Page 1: EXPO PERL UTT

UNIVERSIDAD TECNOLÓGICA DE TECAMACHALCO

Programación de AplicacionesJosé Alberto Rojas Aragón

Presenta: González Limón José

LuisRodríguez Navor

María Araceli

Page 2: EXPO PERL UTT

¿ QUE ES PERL?• PERL significa Practical Extraction and Report

Language , algo así como lenguaje práctico de extracción y de informes , fue creado por Larry Wall; La primera versión sale en el año de 1987.

• Es un lenguaje interpretado que tiene varias utilidades, pero está principalmente orientado a la búsqueda, extracción y el 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...)

Page 3: EXPO PERL UTT

• 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, la utilidad ( que incluye un lenguaje interpretado propio) awk para formateo y tratamiento de texto e incluso características 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.

Page 4: EXPO PERL UTT

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 búsquedas, ...

· Se puede utilizar en varios entornos, como puede ser Windows 95, OS/2, ..., sin alizar cambios de código, siendo únicamente necesario la introducción del intérprete 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 (CommonGateway Interface), para intercambio de información entre aplicaciones externas y servicios de información. Como ejemplo de ello tenemos los programas de búsqueda usados por el browser Netscape.

Page 5: EXPO PERL UTT

PERL es un lenguaje interpretado, aunque en realidad, el intérprete de PERL, comotodos los intérpretes modernos, compila los programas antes de ejecutarlos. Por eso sehabla de scripts, y no de programas, concepto referido principalmente a programascompilados al lenguaje máquina nativo del ordenador y sistema operativo en el que seejecuta.

Page 6: EXPO PERL UTT

PERL es un lenguaje de programación que busca antes que nada el facilitar laelaboración de tareas comunes en sistemas tipo UNIX, donde tradicionalmente las tareas de administración y proceso de datos se realiza con herramientas muy rudimentarias y por demás hostiles al usuario o administrador. Pero que se aplican sobre grandes cantidades de información (por lo regular texto) por lo que se requiere que sean de alto rendimiento.

Page 7: EXPO PERL UTT

Aunque desarrollado originalmente en un entorno UNIX, actualmente hay versiones para casi todos los sistemas operativos: DOS (por ejemplo, la última versión, OpenDos) Windows NT, Amiga... Los scripts son compatibles entre las diversasplataformas, de forma que es un verdadero lenguaje multiplataforma. Muchos fabricantes lo incluyen en sus versiones de UNIX; también el Linux lo incluye.

Page 8: EXPO PERL UTT

ALGUNAS CONSIDERACIONES DE PERLPERL no establece ninguna filosofía de programación (de hecho, no se puede decir que sea orientado a objetos, modular o estructurado aun cuando soporta directamente todos estos paradigmas de programación)

Los objetivos que se tuvieron en cuenta al diseñar la sintáxis de PERL fueron la facilidad de aprendizaje y de uso y la claridad de código, las cuales, considero que son necesarias (aunque pueden escribirse programas en PERL complejos e inteligibles si así se desea).

Page 9: EXPO PERL UTT

Por si fuese poco, PERL no es ni un compilador ni un intérprete, ya que está en un punto intermedio. Cuando mandamos a ejecutar un programa en PERL, se compila el código fuente a un código intermedio en memoria, se optimiza (como si fuésemos aelaborar un programa ejecutable) pero es ejecutado por un motor, como si se tratase de un intérprete. El resultado final, es que utilizamos algo que se comporta como un intérprete pero que tiene un rendimiento comparativo al de programas compilados.

Sin embargo, ya existen compiladores de PERL con la versión 5.

Page 10: EXPO PERL UTT

En fin, PERL no nos obliga a nada, pero como es lógico hay ciertas reglas que

recomiendo seguir para facilitar nuestro trabajo:

ClaridadEn la mecánica de programación actual, los programas deben de ser entendibles por la persona que nos suceda en tareas de mantenimiento, de lo contrario perjudicamos tanto a nuestros compañeros de trabajo como a nuestra propia libertadpara progresar y mantenernos libres de preocupaciones.

Page 11: EXPO PERL UTT

Nombres de variablesEs conveniente dar la máxima claridad a los nombres de las variables sin hacerlos demasiado grandes, el nombre de los contadores y variables que guardan valores concernientes a un pequeño segmento de código por lo regular son de un par de letras (c1, c2, ... cx para los contadores, s1, s2, etc para cadenas de entrada etc.) mientras que las variables que afectan a diversos segmentos (a modo de regla, que tienen su definición en una pantalla distinta a donde se usan) tienen nombres explicativos que conviene que no excedan los 12 caracteres. Además, los nombres de archivos se usan con mayúsculas (ARCHENT, ARCHSAL, etc) y las clases tienen su primera letra mayúscula.

Page 12: EXPO PERL UTT

IndentificaciónUna costumbre ya clásica de la programación, en lo personal, y a lo largo de los distintos programas, es tabular el código dos espacios hacia adelante al abrir cada bloque, y terminar la tabulación al terminar el bloque, de modo que las llaves de apertura y cierre quedan a la vista y en la misma columna, solas en sus renglones (esto incrementa algo el numero de líneas, pero facilita sobremanera la búsqueda y corrección de los diversos bloques de control).

SencillezEs cómodo en ocasiones el comprimir una serie de instrucciones en una solalínea, queda al criterio decidir cuando se gana en claridad con un código mas o menos extenso, pero no debe titubearse en comentar el código que sea complejo.

Page 13: EXPO PERL UTT

Bases de datos en PERLLo más fácil es usar el módulo DBI (que, como todos los demás, está en el CPAN), con un driver específico para el gestor de bases de datos, o si hay ninguno específico, y la base de datos está accesible usando ODBC, puede utilizarse con ODBC. En Windows hay un módulo alternativo, específico para ODBC, denominado Win32::ODBC. Con cualquiera de estos dos módulos, se puede usar con cualquier sistema de gestión de bases de datos. En Linux y UNIX, se puede usar con MySQL oMiniSQL, o Postgres. Por último, en Windows se puede usar también Microsoft SQL Server combinado con ODBC. Eso sí, como es inherente a las conexiones ODBC, es una forma menos ágil de gestionar una base de datos.

Page 14: EXPO PERL UTT

TIPO DE DATOS EN PERL

Page 15: EXPO PERL UTT

Datos escalaresLos datos escalares son las variables simples y pueden contener enteros, reales, cadenas o referencias. Este tipo de variables van precedido siempre por $. Esta es una de las mayores diferencias con lenguajes como el C y es que a cualquier variable escalar se le antepone dicho signo ($). La forma de nombrar las variables también es similar, se puede usar letras números y _ empezando siempre por una letra. En Perl las variables no se tienen porque declarar, aunque se declaran con my. Además la interpretación del tipo de variable se hace en función del contenido, aunque todas la variables numéricas internamente se tratan como reales.

Page 16: EXPO PERL UTT

PROGRAMA CON VARIABLES

Page 17: EXPO PERL UTT

Como podemos ver en el anterior ejemplo las cadenas se encierran entre comillas dobles (" "), aunque también se pueden cerrar entre comillas simples (' '). Hay caracteres especiales (retorno de carro, tabulador, etc.) que como en muchos otros lenguajes se presentan mediante la barra de escape:

\n retorno de carro a una nueva línea \b retorno a la posición anterior \a pitido \t tabulación (8 espacios)\\ el caracter \ \" las comillas dobles (aunque si la cadena está delimita por comillas simples, no hace falta)\' las comillas simples (aunque si la cadena está delimita por comillas dobles, no hace falta)

Page 18: EXPO PERL UTT

El operador de asignación se utiliza, igual que en C, el símbolo =, como se puede observar en el primer ejemplo de la página. También se pueden mezclar operadores aritméticos junto con la asignación.

OPERADORES DE DATOS ESCALARES

Asignación y operadores aritméticos:

Page 19: EXPO PERL UTT

Comparación Números Cadenas

igual == eq

no igual != ne

menor que < lt

mayor que > gt

menor o igual que <= le

mayor o igual que >= ge

Los operadores de comparación, son similares a los de C, pero depende si estamos comparando cadenas o datos numéricos. Los operadores para números y para cadenas son:

En Perl también tenemos los operadores de autoincremento (++) y autodecremento (--). Y además tenemos el operador potencia **(que es muy parecido aunque muy diferente)

Page 20: EXPO PERL UTT

AUTOINCREMENTO Y POTENCIA:

Page 21: EXPO PERL UTT

CONCATENAR Y CHOP • Para concatenar cadenas tenemos el

operador punto (.) y la función chop para quitar el último carácter a una cadena.

Page 22: EXPO PERL UTT

ARRAYS

Un Array en Perl es como los de C, pero con la diferencia de que van precedidos del símbolo arroba @. (como las variables de $). La forma de acceder a ellos es mediante la indexación, contando desde cero. En Perl no nos tenemos que preocupar de reservar la memoria ni gestionarla de ninguna forma. Hay que tener en cuenta que cuando se accede a un elemento de un array, ya no se está haciendo referencia a un array sino a un dato escalar, por lo que debe ir precedido del símbolo $. Vamos a verlo con un ejemplo:

Page 23: EXPO PERL UTT

EJEMPLO DE ARRAYS:

Para sacar/insertar elementos se pueden usar las funciones pop y push. Que sacan o insertan, respectivamente, un elemento al final, es decir, tratan el array como una pila. También podemos utilizar shift y unshift para sacar o insertar, respectivamente, un elemnto del principio del array. Para ver el tamaño (número de elementos) de un array se utiliza el símbolo de sostenido (#) entre el símbolo $ y el nombre del array, es decir, con $#array. Este tamaño nos lo da contando desde 0 o, lo que es lo mismo, realmente nos da el último índice que existe en el array. Si el array no tuviese ningún elemento, su tamaño sería -1.

Page 24: EXPO PERL UTT

EJEMPLO DE POP/PUSH, SHIFT/ UNSHIFT, Y TAMAÑO DEL ARRAY:

Page 25: EXPO PERL UTT

ARRAYS ASOCIATIVOSUn array asociativo en Perl o tabla hash (como también se le denomina) es un array donde los elementos son referenciados mediante claves en vez de una posición. Para los array asociativos se utiliza el símbolo %. Al igual que sucede con los arrays normales, cuando se accede a un elemento de un array asociativo se debe referenciar como un escalar con el símbolo $. Además la indexación (orden de los datos) por clave no se hace utilizando los corchetes, sino que se utilizan las llaves ({   }).

Page 26: EXPO PERL UTT

ESTRUCTURAS DE CONTROL DE FLUJOPerl mantiene todas las estructuras de control de flujo que pueda tener cualquier otro lenguaje, pero con la peculiaridad de que un bloque siempre debe ir entre llaves ({   }), aun cuando el bloque contenga un única sentencia. Un resumen general de las estructuras de control de flujo es: if (EXPR) BLOQUEif (EXPR) BLOQUE else BLOQUEif (EXPR) BLOQUE elsif (EXPR) BLOQUE else BLOQUESENTENCIA if (EXPR);unless (EXPR) BLOQUEunless (EXPR) BLOQUE else BLOQUEunless (EXPR) BLOQUE elsif (EXPR) BLOQUE else BLOQUESENTENCIA unless (EXPR);while (EXPR) BLOQUESENTENCIA while (EXPR);until (EXPR) BLOQUESENTENCIA until (EXPR);do BLOQUE while (EXPR);do BLOQUE until (EXPR);for (EXPR;EXPR;EXPR) BLOQUEforeach $var (Array) BLOQUEDonde EXPR es una expresión, BLOQUE es una sentencia o conjunto de estas encerrado entre llaves y SENTENCIA es una sola sentencia

Page 27: EXPO PERL UTT

EJEMPLOS DE ESTRUCTURAS DE CONTROL:

Page 28: EXPO PERL UTT

FUNCIONES

Page 29: EXPO PERL UTT

USO DE CLASES Y OBJETOS

• Hasta ahora no lo hemos visto, pero Perl también soporta la Programación Orientada a Objetos (POO). Empezando por el principio, una clase es una colección de variables y de funciones que acceden a esas variables. Un objeto es una instanciación particular de una clase.

• En Perl, casi todos los módulos son, en realidad, objetos. Veamos un ejemplo de uso de un objeto.

Page 30: EXPO PERL UTT

• En el ejemplo anterior, tenemos la clase Persona y para crear un objeto de este tipo de clase ($uno) se utiliza el método new, o sea, se usa el constructor de la clase. Posteriormente se han utilizado tres métodos de la clase (nombre, edad y cumple) que nos muestran/modifican la edad y el nombre de la clase Persona. También tenemos que decir que para crear un objeto de la clase Persona, se ha llamado directamente a dicha clase persona y es, por tanto, un método de clase. Los métodos de clase, también pueden ser llamados con la siguiente sintaxis:

Page 31: EXPO PERL UTT

COMO HACER NUESTRA PROPIA CLASE

Lo primero, para construir nuestra propia clase, será darle un nombre. Dicho nombre también será el nombre del fichero (más la extensión .pm -de perl module-) donde tendremos la clase. Después tendremos que empezar la clase con: Encabezado de la clase Persona (fichero Persona.pm)

la primera línea, sirve para indicar, que es una clase lo que estamos creando, y la segunda línea nos dice que tenemos que ser estrictos a la hora de programar, es decir, que hay que declarar las variables antes de usarlas, como en casi todos los lenguajes de programación.

Page 32: EXPO PERL UTT

CONSTRUCTOR

Después tenemos que programar el constructor, que podemos llamar como nos apetezca, pero por convención se utiliza el nombre new. En el constructor, primero miramos la clase que es,

En el anterior trozo de código para averiguar la clase a la que pertenezco, se mira si es o no una referencia lo que se pasa. Esto es para que el constructor pueda ser llamado como un método de clase (como parámetro tiene el tipo de referencia que recibe) o como un método de objeto (como primer parámetro recibe el objeto).

Page 33: EXPO PERL UTT

Una vez que sabemos la clase que estamos construyendo, declaramos las propiedades (variables de instancia) de la clase,

En el código anterior , estamos usando una referencia (de ahí la notación con -> ) a un array asociativo. De esta forma podremos darle nombres a las propiedades del objeto. También podríamos haber usado una referencia a un array indexado (con $self=[];), pero la forma de acceder a las propiedades sería mediante índices:

Page 34: EXPO PERL UTT

Una vez averiguada la clase que somos y declaradas las variables de instancia, Perl no tiene que dar el visto bueno a la clase (bendecirla) y al final, del constructor, devolvemos la clase creada.

También podríamos haber bendecido sólo el objeto en sí (bless $self;), pero si lo hacemos así no sabremos a que clase pertenece y no se podrá heredar de él. De esta forma el constructor nos queda como sigue:

Page 35: EXPO PERL UTT

MÉTODOS DE LA CLASE Y DESTRUCTOR

• También tendremos que construir nuestros métodos para la clase. Para ello sólo tenemos que tener en cuenta que un método de una clase es simplemente una función (o subrutina) que toma como primer parámetro el tipo de clase a la que pertenece el método.

• Podemos hacer el destructor (no obligatorio), que es un método, análogo a los anteriores, pero con la única diferencia en que se debe llamar DESTROY o END

• Para terminar ponemos un 1; esto es así para que Perl pueda interpretar la clase de forma independiente y con esto no hace nada, es "sólo" un script que devuelve 1.

Page 36: EXPO PERL UTT
Page 37: EXPO PERL UTT

CLASE PERSONA (EJEMPLO)

Page 38: EXPO PERL UTT

HERENCIA• Para realizar la herencia, tan sólo tenemos que

añadir al array @ISA una lista de antecesores (si solo hay uno será herencia simple y si hay más es herencia múltiple). Cuando el intérprete de Perl no encuentre un método en la clase, buscará dicho método en la primera clase de la que hereda, después en la segunda, etc.

Page 39: EXPO PERL UTT

COMO UTILIZAR MYSQL CON PERL

• MySQL es la base de datos Open Source más popular y extendida, además se puede utilizar con muchos lenguajes, no solo con PHP, veremos que con Perl también es posible.

• Para conectar a MySQL desde perl utilizaremos el módulo DBI. Primero conectaremos a la base de datos con el método connect, ejecutaremos una consulta con los métodos prepare y execute y por último leeremos los datos con los métodos bind_colums y fetch.

• Este es el ejemplo:

Page 40: EXPO PERL UTT

#!/usr/bin/perluse CGI::Carp qw(fatalsToBrowser);print "Content-type: text/htmlnn";use DBI;#Datos de la conexión $db="prueba";$host="localhost";$port="3306";$userid="root";$passwd="";$connectionInfo="DBI:mysql:database=$db;$host:$port";# Realizamos la conexión a la base de datos $dbh = DBI->connect($connectionInfo,$userid,$passwd);/* Suponiendo que en nuestra base de datos "prueba" existe una tabla con nombre "lenguajes" y los campos "nombre"y "descripción" ejecutaremos esta sentencia SQL */#Sentencia SQL $query = "SELECT nombre,descripcion FROM lenguajes";# Primero hay que "preparar" el query $sth = $dbh->prepare($query);# Ejecutamos el query $sth->execute();

Page 41: EXPO PERL UTT

# Ejecutamos el query $sth->execute();/* El primer parámetro lo dejaremos como undef. En los demás parámetros debemos pasar por referencia las variables que corresponden a cada campo, en el orden en el que aparecen en el query */ $sth->bind_columns(undef, $nombre, $descripcion);print "Resultados<p>";# Recorremos los resultados obtenidos de la base de datos while($sth->fetch()) {print "$nombre - $descripcion<br>";}# Indicamos que hemos acabado y desconectamos $sth->finish();$dbh->disconnect;

Page 42: EXPO PERL UTT

CÓMO MANEJAR ERRORES EN PERLBásicamente existen 2 grandes tipos de errores en la programación, errores de lógica y errores de sintáxis, los cuales serán desarrollados a continuación.

ERRORES LÓGICOS Estos ocurren cuando el programa se ejecuta correctamente, pero no nos trae los resultados que estábamos esperando, o sea, no hace lo que esperábamos. Esto significa que hubo algo en la lógica del programa que no tuvimos en cuenta. Son los errores más difíciles de corregir ya que puede implicar que todo el programa esté mal diseñado, necesitando así una restructuración total. Para prevenir y evitar esta clase de problemas existen 2 herramientas MUY BUENAS:

A) DIAGRAMA DE FLUJO Se realizan los planos del sistema gráficamente, como hacen los arquitectos con los planos de una casa. Mediante símbolos se diseña la lógica y el flujo de la información.

Page 43: EXPO PERL UTT

B) PSEUDOCÓDIGO Se escribe el programa tal como se escribiría en el código fuente, pero en vez de utilizar la sintaxis compleja del lenguaje, se utiliza un CASI-LENGUAJE más fácil de utilizar en donde cada línea de pseudocódigo equivaldría a cada una de las funciones del programa. Así, se enfoca la atención en la lógica del programa y no en los detalles técnicos del lenguaje.EJEMPLO CODIGO:

if ($nombre eq 'juan'){&saludar();}EJEMPLO PSEUDO-CODIGO:

SI (NOMBRE = JUAN){IR A FUNCION SALUDAR;}Una vez utilizadas estas herramientas, ya estamos listos para entrar a programar el código fuente, que seguro tendrá muchos menos errores que si empezáramos a codificar desde el principio.

Page 44: EXPO PERL UTT

ERRORES DE SINTAXIS Estos son los más comunes y los más fáciles de corregir, es simplemente cuando escribimos mal o nos olvidamos de alguna de las reglas del lenguaje. Como terminar una instrucción sin el punto y coma.Para esta clase de errores también existen 2 herramientas muy útiles:

HACER RESUCITAR AL SCRIPT

¿Como resucitar el script? colocando al principio de cada línea un numeral (#) para que con esto no se tengan en cuenta las líneas en las cuales sospechamos que puede estar el error, de esta manera en cada línea empezada por # simplemente no se ejecutará pues el interprete de Perl la ignorará por completo. Una ves que tenemos resucitado el script, empezamos a quitar una por una todos los #, ejecutando el script cada vez que le quitamos un #, así podremos darnos cuenta de cual es la línea de código que hacía que todo el programa fallara.

Page 45: EXPO PERL UTT

DIRECCIONAR LOS ERRORES A UNA FUNCIÓN Hay errores que solo son visibles cuando se ejecutan esas líneas de código, no cuando se compilan. Razón por la cual si una función no fue bien probada puede ser que no nos demos cuenta y liberemos un programa que en verdad tiene fallas. Pero estas fallas se pueden direccionar, haciendo que si alguna ves una función falla, no nos produzca la baja total del sistema, sino que solamente quede sin la función que falló. sub error {

print "content-type: text/html nn";print "Error: Cant $_[0] the $_[1]";print "

comunicate con Esteban Quintana";exit;}

Page 46: EXPO PERL UTT

Esto se hace creando una función de error, la cual realice las tareas de administración de errores que pueden ser:

· Capturar el script que falló y capturar el día y la hora exacta. · Almacenar en una base de datos todos los errores producidos. · Disparar mails al administrador del sistema indicando que se produjo el error. · Mostrar al usuario un mensaje que no lo alerte ni asuste, simplemente le indique que esa función no está disponible en ese momento!!!

La función se llama de la siguiente manera:&logear_usuario() || &error('logear','usuario');#en verdad se le pueden pasar los parámetros que queramos!!!!

Aunque siempre vamos a tener errores, estos se pueden minimizar al máximo si Analizamos y Planificamos bien nuestro proyecto de software, utilizando las herramientas de pseudocódigo y diagramas de flujo ANTES de empezar a programar en el lenguaje.

Page 47: EXPO PERL UTT

INSTALACIÓN DE PERL

Page 48: EXPO PERL UTT

Instalación de Perl Como es lógico, antes de empezar a ponernos a escribir programas de Perl como locos es necesario instalar o tener instalado el intérprete de Perl. Lo podemos encontrar en las siguientes direcciones: En www.perl.comque es un buen sitio de referencia para empezar con Perl. En el CPAN que el sitio más completo de recursos de PerlEn ActiveState si lo que usamos es Windows en sus diferentes variantes

Page 49: EXPO PERL UTT

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). 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.

Instalación de Perl en Linux

Page 50: EXPO PERL UTT
Page 51: EXPO PERL UTT
Page 52: EXPO PERL UTT

Instalación de Perl en WindowsPara instalar Perl en Windows hay también dos opciones, la primera, que es la más aconsejable, es obtener la última versión de Active Perl, que es la versión de Perl para Windows compilada por la compañía ActiveState. Para instalar esta versión, sólo nos hace falta el Microsoft Installer, y una parche de las DCOM para windows 95, si ese es el sistema "operativo" que utilizamos. La otra opción (menos recomendable) que tenemos es bajarnos el código fuente de www.cpan.org, descomprimirla (hay versiones del tar, del gzip para windows en el CPAN) y compilarla. Para compilar el código fuente, hace falta el Microsoft Visual C++ o Mingw32 con EGCS o GCC. También nos hará falta una utilidad make. MS Visual C++ viene con nmake, aunque también se puede usar dmake (una versión compilada con Mingw32). Se aconseja leer el fichero README.win32 (sobre todo si usas Mingw32).

Page 53: EXPO PERL UTT

Una vez que se cumplen todos los requisitos, los pasos son:

Nmake nmake test nmake install

Hay que tener en cuenta que la versión de Perl para Windows 95 la funcionalidad no es completa en algunos módulos (en el resto de sabores de windows va bien: 98,Me,NT200,XP).

Page 54: EXPO PERL UTT

EJEMPLOS

Page 55: EXPO PERL UTT

PRIMER PROGRAMA PERL• Los programas de PERL, por lo general, inician con

la línea:

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

• Mandaría a imprimir a pantalla «HOLA MUNDO»

Page 56: EXPO PERL UTT

Ahora veremos una versión avanzada del HOLA MUNDO.En nuestro primer programa no utilizamos ninguna variable, por lo que para explicar estos conceptos necesitaremos un nuevo programa. Este es una versión personalizada del anterior HOLA MUNDO.

#!/usr/bin/perl#Programa Hola Mundoprint "Hola cual es tu nombre?:";$nombre=<STDIN>;chop($nombre);print "$nombre!, bonito nombre, cuantos años tienes?:";$edad=<STDIN>;print "sabias que te faltan ".(100-$edad)." para tener 100?\nAdios!\n";

Page 57: EXPO PERL UTT

RESUMEN

Page 58: EXPO PERL UTT

EN ESTA PRESENTACIÓN HEMOS VISTO LOS SIGUIENTES TEMAS

• QUE ES PERL • Historia de PERL• Ventajas sobre el uso de PERL• Lenguaje Interpretado • Consideraciones de PERL

• REGLAS DE PERL• Claridad • Nombres de Variables • Identificación• Sencillez• Base de datos en PERL

Page 59: EXPO PERL UTT

• TIPO DE DATOS EN PERL• Datos Escalares • Programación con Variables • Caracteres especiales • Operadores • Asignación de Operadores • Autoincremento Y Potencia• Concatenar y Chop • Arrays• POP/PUSH/SHIFT /UNISHIFT• Arrays asociativos • Estructuras control de Flujo • Funciones • Uso de clases y Objetos

• Como hacer nuestra Propia clase • Constructor • Métodos de la Clase Y destructor • Herencia

Page 60: EXPO PERL UTT

• Como utilizar MYSQL en PERL• Ejemplo de conexión

• Manejo de Errores en Perl • Errores Lógicos

• Diagrama de Flujo • Pseudocódigo

• Errores de Sintaxis • Resucitar al Scrip • Direccionar lo Errores A una Funcion

Page 61: EXPO PERL UTT

• Instalación de PERL• Instalación en Linux • Instalación en Windows

• Ejemplos • Mi primer Programa • Versión avanzada de Hola Mundo

•Resumen

Page 62: EXPO PERL UTT
Page 63: EXPO PERL UTT