Postgrado en Redes y
Telecomunicaciones
Cátedra Herramientas Web para la Ciencia y
Tecnología
Principalmente, es un lenguaje para la manipulación de cadenas de datos y de archivos, y su diseño ignora la distribución en pantalla de botones, menús, listas de selección, y otros elementos propios de una interfaz, es decir, no es nada vistoso, aunque su especialización en el uso de modelos de búsqueda lo hace muy potente.
Perl es un intérprete que fue creado por Larry Wall y liberado al mundo para disfrute de cualquier persona. Larry cedió Perl de forma gratuita, estipulando como tal su uso, el acceso libre a los intérpretes, y a las mejoras de Perl. Y condicionó su utilización a que no se hiciera explotación comercial o de lucro.
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
Hay versiones de Perl para casi todas las plataformas que existen e incluso para Linux, con el se disfuta de la mayoria de funciones del lenguaje, y su uso está muy extendido en Internet, aunque no podemos olvidar que Perl nació en el entorno Unix como una herramienta auxiliar de rastreo de archivos y extracción de información, como su propio nombre lo indica.
Para ejecutar el intérprete basta con teclear Perl en la línea de comando, seguido opcionalmente de parámetro/s, sentencia o programa de extensión .pl.
Mediante modelos de caracteres podemos explorar archivos y visualizar las ocurrencias de un determinado modelo. Los modelos se expresan escribiéndolos entre dos barras: /expresión/ Vamos a probar directamente desde la línea de comando... Ejemplo: Del archivo SALUDO.TXT queremos visualizar las líneas que contengan la palabra "Hola". Teclear: C:\>PERL -ne "print if /Hola/;" saludo.txt
Resultado:Otros ejemplos: el fichero AVERIAS.TXT nos servirá para utilizar nuevas formas
de búsqueda y conocer parte de la potencia de Perl en este tema:
- Extraer las averías de Luis López.
C:\perl>perl -ne "print if /Luis López/;" averias.txt
- Extraer todas las averias de la marca HP.
C:\perl>perl -ne "print if /HP/;" averias.txt
Modelo de Clase [aeiou]..
Se usa para establecer un rango de caracteres permitidos.
/bar.[aeiou].*/ # barca, barquero, barcelonés, bares, abarcar
/c[ao]../ # cara, cosa, cata, cala, coto, cana, cono
/[0-9]/ # 0,1,2,3,4,5,6,7,8,9
/[A-Z][a-z]/ # Aa, Za, Jk, Lm ...
/[a-zA-Z]/ # a, A, B, J, Z ...
/[A-CJ-L2-5]/ # A, B, C, J, K, L, 2, 3, 4, 5
/[^a-c].*/ # diente, zoo (cualquiera que no empiece por a,b o c)
/SE-[^A-Za-z]{4}-[^0-9]?/ # SE-0001-C, SE-8887-BJ, SE-1100-DA
Modelo de alternativa / | /.
Se usa para indicar opciones alternativas en un módelo de búsqueda.
/No fu|Si ca/ # No fumo, Si canto, No futbol, Si carros
/chicos/chicas/ # llegaron chicos, van chicas, las chicas
/No (fum|ju).*ar/ # No fumigar, No fumar, No jurar, No jugar
Carácteres especiales para modelos.
^ El modelo comienza al principio de la cadena.
$ El modelo termina al final de la cadena.
\r Retroceso de carro, 13 decimal ASCII.
\n Alimentación de línea 10 decimal ASCII en UNIX. 13+10 en DOS
\t Tabulación, TAB, 9 decimal ASCII.
\f Alimentación de página, 12 decimal ASCII.
\d Dígitos. Equivale a [0-9].
\D No dígitos.
\w Alfanumérico [a-zA-Z0-9_] (incluida barra subrayado).
\W No alfanumérico.
\s Espacio en blanco (incluye espacio, \t, \r, \n, \f).
\S Negación de \s. \b Límite ini-fin de palabra; coincide con puntuación, \s o \w.
\B Negación de \b.
Ejemplos:
/^\d+\t/; # comienzo de cadena por uno o más digitos seguidos de tab.
/\D$/; # cualquier cadena que termine en algo que no sean números.
Otros modelos útiles.
Modelo =~.
Modelo //i.
Modelo s///.
Modelo s///g.
Modelo tr///.
Modelo (Subexpresión) $1 $2...
Modelo s///e.
Cualquier nombre que comience con $ es una variable escalar, lo que significa que puede contener sólo un objeto, aunque este objeto puede ser también complejo. El signo = se usa para asignar el objeto a la variable. Los caracteres permitidos para un nombre son las letras, dígitos y el caracter de subrayado. Después de $ debe continuar al menos una letra. Las letras mayúsculas y minúsculas son diferenciadas en los nombres de variables. Ejemplo:
$lenguaje = "Perl";