Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Investigacin
Lenguaje Perl
Profesor: Jos Luis Villarroel Hueche
Integrantes: Marcelo Jara
Sergio Hernndez
Asignatura: Lenguaje de Programacin II
Indice
Introduccin.. Pg 1
Orgenes e historia . Pg 2
Caractersticas generales del LenguajePg 3
Estructuras de control, iteracin (bucles) y decisin..Pg 4 a Pg 15
Utilizacin en Gnu-Linux...........Pg 16 a Pg 18
Ejemplos de aplicacin en Gnu-Linux Pg 19 a Pg 20
Introduccin
Orgenes e Historia.
Perl, es un lenguaje de programacin creado a finales del ao 1987 por el escritor
y programador Larry Wall mientras trabajaba como programador en la empresa
Unisys. Wall. Anunci la primera versin del lenguaje (v 1.0) en el newsgroups
comp.sources.misc el 18 de Diciembre de 1987, publicando en 1988 la versin 2.0
del lenguaje y su nombre segn el mismo autor, no es un acrnimo, como muchos
creen y de hecho para el mismo autor esto no fue importante aunque en muchas
publicaciones se presenta la palabra Perl como el acrnimo de Practical Extraction
and Report Language.
En esta segunda versin se mejoraron algunos usos en el manejo de
expresiones, siendo en la versin 3 publicada en el ao 1989 donde se aade
soporte para datos binarios. Hasta el ao 1991, la nica documentacin formal del
uso del lenguaje se basaba en la pgina de manual de Unix. (man perl). En el
mismo ao, se publica el libro Programming Perl, al que se le denomin Perl V4
lo cual no hace una referencia a cambios en el lenguaje mismo, sino que se
diferencia por la versin 3 el hecho de su publicacin documentada en este libro.
Se destaca esta publicacin por aparecer en la portada la imagen de un camello
por lo que se le denomina hasta hoy como el libro del camello para hacer
referencia a esta publicacin.
La versin 4 de Perl culmina con algunos cambio en general no mayores
hasta la versin 4.036 en 1993, en donde Wall se centra en el trabajo para la
versin 5 del lenguaje, desarrollo que se continu en 1994. En 1995 el lenguaje
Perl, a travs de trabajos distribuidos en la lista de correo perl5.porters creada en
mayo 1994, se comienza el trabajo para adaptar el lenguaje a diferentes
plataformas, y se convierte en el primer foro para el desarrollo y mantenimiento de
Perl 5.
Perl 5, fue publicado el 17 de Octubre de 1994 y mejora desde sus
versiones anteriores, aadiendo muchas caractersticas nuevas como objetos,
referencias, paquetes y mdulos, siendo stos mdulos una caracterstica muy
importante del lenguaje, permitiendo al programador un mecanismo para extender
el lenguaje sin necesidad de modificar el intrprete.
El 26 de Octubre de 1995, se crea el Comprehensive Perl Archive
Network (CPAN) que es una coleccin de sitios web que almacenan y distribuyen
cdigos y documentacin para el lenguaje Perl.
Este lenguaje est diseado para ser practico mas que hermoso (segn
referencia de la pagina oficial de Perl), es de uso sencillo y eficiente. Una de sus
mayores caractersticas es su facilidad de uso. Soporta programacin por
procedimientos y orientada a objeto y posee una gran capacidad para manejar
texto.
Para correr una aplicacin Perl en plataformas basadas en Unix se utilizar en la lnea de
comando :
1. perl progname.pl
Al editar un nuevo archivo de texto para escribir cdigo, es bueno poner en la primera
lnea lo siguiente :
1. #!/usr/bin/env perl
esta lnea hace referencia al SO donde encontrar el interprete de Perl, as como en shell.
Es recomendable tambin continuar con estas dos lneas adicionales al comienzo del
programa :
1. #!/usr/bin/perl
2. use strict;
3. use warnings;
Estas dos lneas, capturan varios problemas comunes en el cdigo. Estos se utilizan para
diferentes cosas por lo que se deben usar siempre ambas.
use stric es usada para generar errores en caso de que encuentre lo que se considera
como programacin insegura y detiene el cdigo inmediatamente. Entre ellos tenemos :
Por otro lado use warnings, es un control de errores , con una manejo mas personalizado
utilizando un control lxico.
-Sintaxis
bsica
1. # Este es un comentario
Los espacios en blanco no son relevantes :
1. print
2.
"Hola Mundo"
3.
;
Los espacios en blanco dentro de una cadena de caracteres encerrada en comillas si son
relevantes :
Sin embargo, solo las dobles comillas pueden incorporar caracteres especiales como el salto de
lnea \n.
1. print 42;
1. print("Hola, mundo\n");
2. print "Hola, mundo\n";
- Escalares
Este es el tipo principal de variable en Perl, y es una cadena de caracteres o un
nmero que no necesita ser convertido como en otros lenguajes y los utilizar
indistintamente segn sean declarados. Esta variable numrica pueden ser enteros o
nmeros de coma flotante. Es necesario declarar la variable antes de utilizarla y se utiliza
al comienzo de la variable el carcter $
1. my $animal = "camel";
2. my $answer = 42;
Las variables escalares pueden ser usadas de varias maneras dentro del cdigo :
1. print $animal;
2. print "The animal is $animal\n";
3. print "The square of $answer is ", $answer * $answer, "\n";
- Arreglos
1. print $animals[0];
2. print $animals[1];
# prints "camel"
# prints "llama"
El argumento especial $#array de una variable permite mostrar el ltimo elemento del
arreglo :
1. print $mixed[$#mixed];
my %fruit_color = (
apple => "red",
banana => "yellow",
);
1. $fruit_color{"apple"};
# gives "red"
Se puede tomar una lista de claves y sus valores con keys() and values() :
- Estructuras de decisin
Perl tiene en su base, las mismas estructuras de desicin y control de bucles que otros
lenguajes como C, Pascal y otros, con algunos cambios forma en Perl 5.
if
1.
2.
3.
4.
5.
6.
7.
if ( condition ) {
...
} elsif ( other condition ) {
...
} else {
...
}
unless
Esta, es una estructura condicional simple propia del lenguaje y se ejecuta cuando la
condicin es falsa (similar a if (!condicion)).
1. unless ( condition ) {
2. ...
3. }
Perl, permite escribir las estructuras condicionales en una sola lnea con la forma de postcondicin :
1.
2.
3.
4.
5.
6.
7.
8.
10
while
1. while ( condition ) {
2. ...
3. }
El comando while, tambin tiene su versin de negacin propia de Perl
1. until ( condition ) {
2. ...
3. }
El comando while, tambin se puede escribir en forma lnea con post-condicin
1. print "LA LA LA\n" while 1; # loops forever
for
11
ejemplo:
# Imprime los valores que toma $i, desde 0 hasta 99
for($i = 0; $i < 100; $i++){
print "$i\n";
}
# Cuando $i es igual a 100 la expresion '$i < 100' se
# evalua como falsa y el bucle termina
12
-Foreach
Este comando se utiliza para recorrer los valores de las matrices. La matriz
o arreglo, es evaluada para producir una lista con sus valores, que actan
como contadores del blucle. De esta forma el bucle se ejecuta tantas veces
como elementos tenga el arreglo o matriz.
1. foreach (@array) {
2. print "Este elemento es $_\n";
3. }
4.
5. print $list[$_] foreach 0 .. $max;
6.
7. # no es necesario usar el valor por defecto $_
8. foreach my $key (keys %hash) {
9. print "The value of $key is $hash{$key}\n";
10.
}
ejemplo
13
- Operadores de Perl
Aritmticos
1.
2.
3.
4.
+
*
/
Comparadores numricos
1.
2.
3.
4.
5.
6.
== igualdad
!= inequidad
< menor que
> mayor que
<= menor o igual que
>= mayor o igual que
Comparaciones alfanumricas
1.
2.
3.
4.
5.
6.
Suma
resta
Multiplicacin
divisin
eq
ne
lt
gt
le
ge
igualdad
inequidad
menor que
mayor que
menor o igual que
mayor o igual que
Comparadores lgicos
1. && y
2. || o
3. ! no
14
Miscelneos
1.
2.
3.
4.
= asignacin
. concatenacin de cadenas de caracteres
x multiplicacin de cadenas de caracteres
.. operador de rangos (crear una lista de nmeros )
1. $a += 1; # igual que $a = $a + 1
2. $a -= 1; # igual que $a = $a - 1
3. $a .= "\n"; # igual que $a = $a . "\n";
Es muy importante sealar que el lenguaje Perl contiene muchos otros comandos
y funciones integrados que no se explican en el presente trabajo, sin embargo su
utilizacin es de uso frecuente encontrando en la red mucha informacin sobre estos.
No obstante, los comandos presentados, son en especfico el gran grueso de
procesos con los cuales se trabaja constantemente en la creacin de programas en
Perl.
15
En www.perl.com
para .tar.bz2
16
./configure
make
make install
Para editar y/o escribir nuestro cdigo en plataforma Linux, podemos utilizar
cualquier editor de texto, vi, editor de mc, nano, etc. No obstante lo anterior, es posible
ejecutar cdigo de Perl directamente desde la lnea de comandos de la siguiente forma :
Hola, Mundo
esta es un forma muy sencilla de ejecutar un comando en Perl, pero en la mayora de los
casos se debiera usar un archivo guardado con la extensin .pl .
Por otra parte, se siempre importante tener claro la versin de Perl que estamos
utilizando, por temas de compatibilidades, para eso utilizamos el comando :
17
$ perl v
man perl
18
#!/usr/bin/perl
#Declaracin de una variable
my $hola;
my $numero;
#Asignacin de un valor
$hola="Hola Mundo\n";
$adios="adios\n";
19
#!/usr/bin/perl
#Asigno valores a variables
my $uno=123.67;
my $dos;
my $suma;
$dos=123123.2334;
$suma=$uno;
$suma+=$dos;
#Escribimos resultados en pantalla
print "La suma de $uno y $dos es = $suma \n";
20