PERL

Practical Extraction and Report Language

Integrantes
• Jesús Manuel Estrada Morales
• José Antonio Robles Flores
• Noe Flores García
• José Roberto Gallegos Espinosa

Temas a abordar
Historia
Características del lenguaje

000 Presentación del lenguaje Perl por Larry Wall a sus socios en 1986 .Historia de Perl 0.

extracting information from those text files. minimal). elegant.Historia de Perl 1.000 Originalmente fue creado para la manipulación de textos. complete) rather than beautiful (tiny. It's also a good language for many system management tasks. The language is intended to be practical (easy to use. Fue creado por Larry Wall en 1987 Perl is a interpreted language optimized for scanning arbitrary text files. . efficient. and printing reports based on that information.

Historia de Perl 2.000 El 5 de enero del 1988 se libero •Se integraron las expresiones regulares •El uso de subrutinas •Recursividad •Manejo de archivos •Integración de foreach •Asignación múltiple .

Historia de Perl 3. getppid …) El 18 de octubre del 1989 se libero .000 Principalmente se ocupaba para administración Paso por referencia a las subrutinas Incorporación del depurador Se pueden cortar las listas Incremento en las funciones. (mkdir. rmdir.

Historia de Perl 4.000 El 21 de marzo del 1991 se libero The first edition of Programming Perl Utilización para WEB Incorporación a Linux .

glob().000 El 18 de octubre del 1994 se libero Orientación a Objetos El uso de :: como delimitador de paquete Incremento en las funciones: abs().Historia de Perl 5.… Se introduce => como sinónimo de comas Se crea CPAN (Comprehensive Perl Archive Network) . chomp().

Larry Wall.Paradigma Hay más de una forma de hacerlo". autor del lenguaje de programación Perl. no se puede decir que sea orientado a objetos. modular o estructurado aun cuando soporta directamente todos estos paradigmas) . " Perl no establece ninguna paradigma de programación (de hecho.

Características Flexibilidad Claridad Portabilidad .

Algo de programación Variables Estructuras de control Expresiones regulares Subrutinas Módulos Orientación a objetos .

shift. exit. getprotobynumber. keys. qx. y . bless. prototype. qw. unpack. connect. pop. package. reset. getpgrp. binmode. do. dbmclose. msgget. reverse. chr. msgctl. printf. write. qq. setpwent. our. truncate. oct. ord. fcntl. goto. getpriority. seekdir. split. setnetent. ref. readline. semop. qr. return. cos. seek. index. caller. getgrnam. socketpair. delete. shmget. continue. alarm. glob. shmread. getlogin. push. pack. gethostbyaddr. open. getprotobyname. getprotoent. utime. values. lock. lstat. each.Funciones de Perl -X. rindex. semget. chroot. vec. getservbyport. sprintf. getpwnam. accept. local. chop. close. msgsnd. untie. exists. warn. unshift. quotemeta. endhostent. sethostent. symlink. endprotoent. hex. study. int. pos. setpgrp. endpwent. atan2. sysopen. getgrgid. pipe. getgrent. endgrent. tied. read. readdir. getnetbyname. redo. uc. umask. eval. next. wait. getpeername. substr. time. localtime. setservent. dbmopen. readpipe. fork. setsockopt. log. format. shmwrite. kill. stat. exec. crypt. getpwent. undef. setpriority. socket. getnetbyaddr. getsockname. gethostbyname. chdir. gmtime. recv. splice. rewinddir. shutdown. unlink. ucfirst. lc. opendir. rand. listen. sysread. flock. wantarray. getservent. setgrent. getpwuid. msgrcv. print. link. bind. grep.abs. ioctl. m. chown. chmod. sort. send. sysseek.import. endservent. getnetent. tr. tie. closedir. getppid. setprotoent. shmctl. sleep. length. q. select. require. semctl. gethostent. die. sqrt. getsockopt. getservbyname. defined. telldir. system. dump. sub. rename. use. join. fileno. lcfirst. no. rmdir. scalar. getc. s. map. readlink. chomp. syscall. syswrite. my. endnetent. last. mkdir. tell. srand. waitpid. eof. exp. sin. times. formline.

se pueden empezar a usar directamente en las expresiones. .Variables Escalares Siempre inician con $ y un caracter Arreglos Siempre inician con @ y un caracter Arreglos asociados Siempre inician con % y un caracter No es necesario predeclarar las variables.

Variables especiales Existen dos variables muy importantes en Perl las variables anónimas $_ @_ Y sirven para el paso de parámetros. .

Operadores de comparación Comparación Numerico Cadenas Igual No igual Menor que Mayor que Menor o igual Mayor o igual == != < > <= >= eq ne lt gt le ge .

2. $i <= 10. $i++) { print "$i ".5). foreach $b (@a) {$b *=3. for($i = 1. } Humberto Ferrer C. } . } while/until while(true) {print “”}.4. unless (false) { print “hola”.3.Estructuras de control if/unless print “hola” if(true). for foreach @a = (1. print $b.

2). $valor1=shift @_.Subrutinas Para definir una subrutina o función se utiliza la palabra sub sub suma { $valor0=shift @_. return $valor1+$valor0. . } … print suma(1.

*. \D no-numéricos.\B Coincide con límites de palabra. \S con los que no lo son. [^.\W Coincide con los alfanuméricos.. como [a-z]...] Indica una clase de caracteres. \w. . Y se realiza mediante el operador // Modificadores de expresiones regulares Operador Función . (.. Describe cualquier carácter. \B con el interior de una palabra. $. . [.¦..] niega la clase. excepto newline. \d \D Coincide con los numéricos.¦. +. \b. \s. \W con los no-alfanuméricos.\S Coincide con los espacios en blanco.. ó 0 ó 1. () Agrupa una serie de patrones en un simple elemento. 0 o más.^ Coincide con el final de una línea o cadena y con el principio.Expresiones regulares Una expresión regular es una forma de expresar gramaticalmente la estructura de cualquier cadena alfanumérica.indica un rango decaracteres.) Coincide con una de las alternativas.? Coinciden con el elemento al que preceden repetido 1 o más veces.

\n". } return $self->{METODOS}. .pm package objeto. } sub DESTROY {# Destructor. . $self->{METODOS} = undef.. return $self. sub medotodos { # metoros sub new { #contructor my $self = {}. } if (@_) { $self->{METODOS} = shift. #!/usr/local/bin/perl ## objeto. my $self = shift. } 1. bless($self). print "Destruido.Orientación a objetos Un objeto de Perl es una modificación de los módulos a los cuales se les da una referencia a las clases..

Algunas aplicaciones Sistemas operativos Perl/Linux http://perllinux.sourceforge.net/ Manipulación de textos Páginas dinámicas CGI Administración UNIX .