Your SlideShare is downloading. ×
0
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Introducción a perl
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Introducción a perl

2,372

Published on

1 Comment
0 Likes
Statistics
Notes
  • Cuando se programa en Perl, tarde o temprano se tendra que pensar en cambiar el

    editor de texto (vi, vim, notepad, textpad,…) por un IDE integrado que agilice

    nuestro desarrollo y nos permita depurar los programas de forma sencilla, con el

    módulo de depuración ó a base de “prints” como se hacía anteriormente.

    Después de analizar diferentes IDEs que existen para Perl con el objetivo de agilizar

    el desarrollo encontre varios en el internet.

    Buscando y leyendo Blogs concuerdan que el mejor IDE para Perl es el de ActiveState,

    ya que su implementación de perl es considerada la mejor para la plataforma win32 es

    ActivePerl Pro Studio, el unico punto es el precio de la licencia solo para el primer

    año.

    Otra de las opciones es el ECIP. ECIP es un IDE basado en la plataforma de Eclipse,

    actualmente su última versión estable es la 0.4 . Este IDE tiene todas las funciones

    básicas y cuenta con la potencia del entorno de eclipse. Es una opción muy

    interesante, aunque el depurador no es comparable al de ActiveState ayudará a depurar

    de forma más sencilla programas. Cuenta con la ventaja de ser multiplataforma (el

    resto de IDEs que hemos encontrado son casi todos para win32)

    El Perl Editor de EngInSite fue la elección final al mejor IDE. En su última versión

    han mejorado notablemente todas sus funciones, pero además ahora tiene un depurador

    mucho más potente e integración con CVS y SVN. El depurador permite ver en tiempo de

    ejecución el valor de las diferentes variables y hashes. En resumen, es el IDE que

    mas se acerca a la excelencia de ActivePerl, ademas cuenta con una versión gratuita,

    pero no aporta mucho valor, ya que tiene la funcion de Syntax highlighting y poco

    mas.

    El resto de los IDEs para Perl son de mala calidad o no tienen funciones que se

    consideren indispensables, aun así se lisa para ver si se ajustan a otras

    necesidades.

    PerlEditor es un editor perl bastante competitivo con un depurador y todas las

    opciones deseables, permite depurar CGIs, pero carece de interfaz integrado con CVS o

    SVN.

    Perl-Express quizás el “peor” de todos, pero al menos es gratuito (aunque muestra un

    anuncio antes de cerrarse). Tiene un sencillo depurador, pero carece de integración

    CVS y SVN.

    Open perl IDE, puede ser una alternativa a tener en cuenta en el futuro, pero a día

    de hoy no está al nivel mínimo que debemos exigir aun IDE de programación.

    Por último sólo mencionar que también existe Perl Builder 2.0. Su versión

    Professional Version, esta no tan potente.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
2,372
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
43
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Lenguaje Perl Dr. Orestes Febles Díaz
  • 2. Introducción •Origen y uso •Tipos de datos •Operadores y funciones •Entradas y Salidas •Alternativas y ciclos Temas generales
  • 3. Introducción •Entender los conceptos básicos del intérprete PERL. •Escribir un programa en PERL para un ambiente de programación. •Resolver un problema sencillo usando PERL Objetivos
  • 4. Introducción •Trabajo Práctico en laboratorio •Pregunta Escrita Semanal •Prueba Final Evaluaciones
  • 5. Introducción •Qué es PERL? •Versiones actuales. •Sintaxis de un programa. •Primer programa en PERL. •Tipos de datos. Temas Primera Clase
  • 6. Introducción •Origen y uso •Tipos de datos •Operadores y funciones •Entradas y Salidas •Alternativas y ciclos Temas generales
  • 7. Introducción •Entender las características generales del lenguaje. •Deducir posible aplicaciones del lenguaje. •Conocer los tipos de datos que utiliza PERL. Objetivos
  • 8. Introducción • Fue creado por Larry Wall • Lanzamiento 18 de diciembre de 1987. • Perl 2, liberado en 1988, aportó un mejor motor de expresiones regulares. • Perl 3, liberado en 1989, añadió soporte para datos binarios. Origen de PERL
  • 9. Introducción • Programador y escritor nacido el 27/9/54. • Su fe cristiana le ha influido en la propia terminología de Perl (referencia bíblica "Perla de gran valor" (Mateo 13:46). • Ha ganado premios como Obfuscated C Code (IOCCC) y el FSF Award for the Advancement of Free Software en 1998. Larry Wall
  • 10. Introducción • Hasta 1991 la única documentación de PERL era una simple página de manual Unix. • En 1991 se publicó Programming Perl (el libro del dromedario) y se convirtió en la referencia de facto del lenguaje. Evolución
  • 11. Introducción • PERL se simboliza generalmente por un dromedario (camello arábigo). • O'Reilly es propietario de este símbolo como marca registrada, para proteger la "integridad e impacto de este símbolo" Símbolo
  • 12. Introducción • “Perl es un lenguaje de propósito general originalmente desarrollado para la manipulación de texto y que ahora es utilizado para un amplio rango de tareas incluyendo administración de sistemas, desarrollo web, programación en red y desarrollo de GUI”. Concepto
  • 13. Introducción • En 2007, Perl 5 continua siendo mantenido. • Características importantes y algunas construcciones esenciales han sido añadidas, incluyendo soporte Unicode, Hilos, soporte para la programación orientada a objetos y otras mejoras. Evolución
  • 14. Introducción • Perl 5 fue liberado el 17 de octubre de 1994. A destacar, los módulos proveen de un mecanismo para extender el lenguaje sin modificar el intérprete. • El 26 de octubre de 1995, se creó el Comprehensive Perl Archive Network (CPAN),una colección de sitios web que almacenan y distribuyen fuentes en Perl, binarios, documentación, scripts y módulos. PERL 5
  • 15. Introducción • Perl (Practical Extraction and Report Languaje). • Pensado para la manipulación de cadenas de caracteres, archivos y procesos. • Utilizado actualmente para un amplio rango de tareas incluyendo administración de sistemas, desarrollo web, programación en red y otras. Características
  • 16. Introducción • Es fácil de usar. • Soporta la programación estructurada, la orientada a objetos y la programación funcional. • Tiene incorporado un poderoso sistema de procesamiento de texto y una enorme colección de módulos disponibles. Características
  • 17. Introducción • No es pre-compilado, pero aún así es más rápido que la mayoría de lenguajes interpretados • Sus programas son analizados, interpretados y compilados por el intérprete antes de su ejecución. • Estas características hacen que el mantenimiento y la depuración de un programa en PERL sean mucho más sencilla que el mismo programa escrito en C. Características
  • 18. Introducción • Estructura derivada de C. • Lenguaje imperativo, con variables, expresiones, asignaciones, bloques de código delimitados por llaves, estructuras de control y subrutinas. • Todas las variables son marcadas con un signo precedente (sigil). Similar a los Shell. Características
  • 19. Introducción • Soporta estructuras de datos complejas, funciones de primer orden . • Habilita el empaquetado de código reutilizable como módulos. • Realiza el tipado automático de datos y la gestión de memoria. • Tolera excepciones a las reglas y emplea la heurística para resolver ambigüedades sintácticas. Características
  • 20. Introducción • Tiene muchas y variadas aplicaciones, gracias a la disponibilidad de muchos módulos estándares y provenientes de terceras partes. • Para escribir guiones (scripts) CGI. Es una de las "tres P" (Perl, Python y PHP), que son los lenguajes más populares para la creación de aplicaciones Web, . • Es usado a menudo como un "lenguaje pegamento", ligando sistemas e interfaces que no fueron diseñados específicamente para interoperar; y para el "escarbado de datos“. Aplicaciones
  • 21. Introducción • Es una popular herramienta de propósito general para los administradores de sistemas, especialmente en programas pequeños que pueden ser escritos y ejecutados en una sola línea de comandos. • Es ampliamente usado en finanzas y bioinformática, donde es apreciado por su desarrollo rápido, tanto de aplicaciones como de despliegue, así como la habilidad de manejar grandes volúmenes de datos. Aplicaciones
  • 22. Introducción • La administración de sistemas operativos. • Potente en la creación de pequeños programas que pueden ser usados como filtros para obtener información de ficheros, realizar búsquedas, etc. • Nació en un entorno Unix, pero ya hay versiones para casi todas las plataformas existentes. Aplicaciones
  • 23. Introducción • La creación de formularios en la Web. • Para la creación de scripts CGI que realizan el intercambio de información entre aplicaciones externas y servicios de información. Aplicaciones
  • 24. Introducción • Un script en PERL es una sucesión de instrucciones. Éstas se delimitan por punto y coma (;). • Los comentarios en los scripts deben ir precedidos por el símbolo #. • Los caracteres que siguen a este símbolo y que está contenidos en la misma línea se consideran comentarios y se ignoran. Estructura de un programa
  • 25. Introducción • El siguiente script muestra la cadena de caracteres "¡Hola, mundo!". Este script se llamará hola.pl y contendrá las siguientes líneas. #!/usr/local/bin/perl print "¡Hola, mundo!"; • Una vez verificado los permisos de dicho script estaremos listos para ejecutarlo simplemente tecleando en la línea de comandos: hola.pl. Hola Mundo
  • 26. Introducción • Un programa PERL conocer la ganancia en la venta de un libro print “Precio del libro comprado? "; $precio= <STDIN>; $ganancia= $precio * 0.15; print “Mi ganancia es de $ganancian"; Resultados, Moneda??? Librería
  • 27. Introducción • Las variables se indican con un símbolo de $ en este caso se trata de variables escalares, que contienen un valor numérico o una cadena. • La transformación se hace automáticamente. Cada variable se declara en el momento que se usa, y si no se ha usado anteriormente, aparece automáticamente con el valor 0 o " (cadena nula). • Las variables en PERL tienen todas visibilidad global, si no se dice lo contrario. Elementos Observados
  • 28. Introducción • Aparece la intervención del usuario, leyendo en una variable lo que éste teclea. • Se utiliza un filehandle o puntero a un fichero abierto (el equivalente a un FILE* en C). • Es utilizada la entrada estándar o STDIN (estándar input); también existe la salida estándar o STDOUT. Elementos Observados
  • 29. Introducción • Los paréntesis angulares <>, indican que se lee del fichero una línea completa. • Interpolación de variables. Una variable incluida dentro de una cadena entre comillas dobles será sustituida por su valor (no en el caso de tratarse de comillas simples). Elementos Observados
  • 30. Introducción • PERL permite representar los tipos de datos básicos como son los reales, los enteros, las cadenas de caracteres y el tipo booleano. • Los tipos numéricos (reales y enteros). • Los valores numéricos expresados literalmente se presentan en forma de valores reales codificados en doble precisión.. Por ejemplo: • $x = 0.897; # un real $y = 6.23e-24; # un real • $n = 567; # un entero • $i = -234; # un entero Tipos de Datos
  • 31. Introducción • Los valores enteros no pueden empezar por cero porque esto permite especificar un entero mediante su codificación octal o hexadecimal. El código octal se antecede con en cero 0; el código hexadecimal se antecede con un 0x o 0X. Por ejemplo: • $x = 0377; # equivale a 255 • $y = 0xff; # equivale a 255 Octales y decimales
  • 32. Introducción • Las cadenas de caracteres se especifican por medio de un sucesión de caracteres delimitada por comillas ("..") o apóstrofes ('..'). • Cuando van delimitadas por comillas (".."), toda variable referenciada en el interior de la cadena se evalúa y se reemplaza por su valor. Cadenas de caracteres
  • 33. Introducción • Las instrucciones siguientes: $wld = "mundo"; $str = "¡Hola $wld!"; • asignan al escalar la cadena de caracteres "¡Hola mundo!". Por el contrario, las cadenas de caracteres delimitadas por apóstrofes se dejan intactas. Por ejemplo: $str = '¡Hola $wld!'; • asigna al escalar $str la cadena de caracteres "¡Hola $wld!". Ejemplos de cadenas
  • 34. Introducción • Se utiliza cuando la cadena de caracteres contiene varias líneas y/o comillas o apóstrofes. Su sintaxis es la siguiente: $str = <<etiqueta; .... etiqueta • El fin de la cadena se determina por la nueva línea que contiene únicamente el identificador. Éste no debe ir precedido por un espacio ni marca de tabulación. Delimitando cadenas
  • 35. Introducción $mensaje= <<SALUDO; hola, buenos días, buenas tardes, adiós, SALUDO Ejemplo
  • 36. Introducción • El tipo booleano existe, al igual que en C, de modo implícito, es decir, un número es falso si es igual a cero y verdadero en cualquier otro caso. • Como el cero está asociado a la cadena vacía (""), ésta también equivale al valor falso. Tipo de dato booleano
  • 37. Introducción • Tres tipos de representaciones de datos en PERL: • Los escalares, los arrays y los arrays de indexación literal o listas asociadas. • Estas tres representaciones permiten asociar a cada variable utilizada un tipo. Las variables no tienen que declararse antes de su uso. Se asignan de manera dinámica y se les asigna un valor predeterminado en función del contexto. Representaciones de Datos
  • 38. Introducción • Las variables de tipo escalar van precedidas por el símbolo $. $real = 4.53; $entero = -45; $ristra = "Hola"; • En un contexto numérico el valor predeterminado es 0, mientras que en un contexto de cadena de caracteres el valor predeterminado es la cadena vacía "". Escalares
  • 39. Introducción • El tipo y el valor de las variables en Perl se determina a partir del contexto. • $x = 4.1; # un real • $y = "11"; # una cadena de caracteres • $z = $x + $y; # adición de dos valores numéricos • $t = $x . $y; # concatenación de dos cadenas • print $z, "n", "$t n"; Declaración de Tipo
  • 40. Introducción • $z ------------------------- 15.1. • $t ------------------------- "4.111". • Reiteramos que en Perl no es necesario realizar una declaración de tipos, ni es necesario el operador. Los valores serán …
  • 41. Introducción • Sean las líneas de código • $year = 35; • print "Tengo $year años"; • El resultado :???????? Interpolación
  • 42. Introducción • Un array es una lista de datos de tipo escalar. Cada elemento de la lista es una variable escalar a la que se le asocia un valor. Las variables de tipo array se identifican por el prefijo arroba @. Por ejemplo: @numeros = (2, 1, 667, 23, 2.2, 5, 6); @letras = ("perro", "gato", "león"); @mezcla = ("hola", 23, "adios", 31.234); Arrays
  • 43. Introducción • También se permite definir los elementos de un array a partir de sus valores extremos como se muestra a continuación: • @alfabeto = (a..z); • Los elementos de un array se referencian mediante índices. El primer elemento se referencia por el índice 0. Por ejemplo: $numeros[4]; ????? $letras[2]; ????? $mezcla[0]; ????? Arrays
  • 44. Introducción • @num1 = @numeros[1..3]; # @num1 = (1, 667, 23) • @str = @letras[0,2]; # @str = ("perro", "león") • ($ristra, $num) = @mezcla; # $ristra = "hola", $num = 23 • Esta última instrucción vemos que permite asignar los dos primeros valores del array @mezcla a las variables escalares $ristra y $num. Por otro lado, el acceso a un array fuera de rango devuelve un valor indefinido 0 o "" según el contexto. Acceso a Array mediante operador
  • 45. Introducción • Una lista asociativa está indexada por cadenas en lugar de por números. Se utiliza % para definir el tipo de lista asociativa y un elemento está indexado por el anterior formando ambos parejas del tipo (clave, valor). Listas asociativas
  • 46. Introducción • %cuota = ("root", 1000, "pat", 256, "fiona", 4000); • En este caso, para acceder a cualquiera de los elementos de %cuota debemos conocer su clave. Por ejemplo: • $id = $cuota{"pat"}; # $id = 256 • Esta lista puede completarse añadiendo nuevos valores y asociando a cada clave el valor correspondiente. Por ejemplo: • $cuota{"dave"} = 250; • donde la clave es "dave" y el valor asociado es 250. Ejemplo
  • 47. Introducción • Las referencias son el equivalente a los punteros en C. Es un tipo de datos que permite referenciar datos contenidos en otra entidad. • La definición de referencia se usa mediante el operador de referencia backslash (""). • A diferencia de C, Perl no deja "huella" de las referencias en memoria Las Referencias
  • 48. Introducción • Podemos crear una referencia usando un operador de referenciación en una variable o un valor. En el caso de la variable es crear un medio alternativo de acceder al valor de la variable. • $rescalar = $escalar; • $rarreglo = @arreglo; • $rhash = %hash; Referencias
  • 49. Introducción • Por otro lado, cuando usamos el operador de referenciación con un valor, creamos objetos anónimos que sólo pueden ser accedidos por medio de la referencia. • $rescalar="hola"; #referencia a la cadena anónima "hola" • $rarray=[1,2,3]; #referencia al array anónimo (1,2,3) • $rlista={"llave1" => "dato1","llave2" => "dato2"}; • Nota: En esta representación usamos el operador "=>" para la representación de listas asociativas anónimas. Observación
  • 50. Introducción • %rNumeros = {"arabes" => [1,2,3], "romanos" => [I, V, X]} • Una lista asociativa anónima donde las claves son cadenas de caracteres y los valores son referencia a array Estructuras de datos más complejas
  • 51. Introducción •$rarray=[1,2,3,4] #crea arreglo anónimo (1,2,3,4) •$$rarray[2]="tres"; •#modifica el array anónimo a (1,2,"tres",4) •@$rarray=(); #limpia el arreglo anónimo Uso de las referencias a arrays y listas asociativas.
  • 52. Introducción •PERL es un lenguaje interpretado que tiene un amplio uso y es particularmente potente para en tratamiento de listas Conclusiones

×