martes, 2 de noviembre de 2010

Lab de lenguajes de progra (Dr.Elisa)

Lenguaje PERL



Perl por sus siglas en ingles (Practical Extraction and Report Language) es un lenguaje de programación desarrollado por Larry Wall a partir otras herramientas de UNIX como son: ed,grep,awk,c-shell, para la administración de tareas propias de sistemas UNIX.

Es un lenguaje de programación muy utilizado para construir aplicaciones CGI para el web.

Es un lenguaje libre de uso, eso quiere decir que es gratuito. Antes estaba muy asociado a la plataforma Uníx, pero en la actualidad está disponible en otros sistemas operativos como Windows.

No es ni un compilador ni un interprete, esta 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 que se optimiza como si fuésemos a elaborar un programa ejecutable pero es ejecutado por un motor, como si se tratase de un interprete.



Variables y datos

En PERL no hay que declarar los tipos de las variables.

Van precedidas por unos caracteres especiales como: $,@,%, que ya indican su tipo.

Se distingue entre minúscula y mayúsculas, por tanto, $A y $a son distintas

Comienzan con el signo $y contienen datos de tipo escalar. Por escalar entendemos valores numéricos y/o alfanuméricos. Para la asignación se usa el signo igual (=) como en la mayoría de los lenguajes. En el caso de ser un valor alfanumérico (texto) este se escribe entres comillas. Al final de la asignación se debe escribir ";".

Ejemplos:

# se asignan textos

$animal="Gato";

# se asigna un valor númerico entero

$crias= 3;

# se asigna un valor númerico con decimales

$edad= 1.5;

# números octales y hexadecimales

$Octal=033;

$Hex=0x19;

Las variables pueden actuar como númericas o alfanuméricas, según el caso. El cambio se realiza en función del signo más (+) o el signo punto (.).

- Texto a número ( + ):

$A="12"; $B=3; o $A="12"; $B="3";

$C=$A +$B sería igual a $C=15.



Variables de matriz: arreglos

Comienzan con el signo @ y contienen una lista de valores escalares (números y/o textos). Al ser una lista de valores para acceder a cada de uno estos se utiliza un número que indica su posición dentro de la lista. La numeración empieza en 0, y se coloca entre corchetes [ ].

@mascota= (“perro”, “gato”, “león”);

@mascota[0] aquí seria perro



Entrada/Salida

Hasta ahora sólo hemos estudiado el tipo de variables. En este capítulo vamos a estudiar el modo de
capturar/mostrar esos valores a través del teclado/pantalla.

La instrucción básica para mostrar el valor de las variables en pantalla es print.

Primer programa en PERL:

print "Hola Perl";


Hola Perl.

Existen muchos modificadores para la salida de los valores de las variables.

Como los siguientes:

"\n" Salta a una nueva línea.

"\t" Tabulacíon.

"\r" Retorno de carro.

"\f" Nueva hoja (formfeed).

"\b" Espacio atrás (backspace).

"\e" Secuencia de ESCape.

"\u" Pasa a mayúscula el primer caracter de texto siguiente".

"\U" Pasa a mayúscula todo el texto siguiente".

"\l" Pasa a minúscula el primer caracter de texto siguiente".

"\L" Pasa a minúscula todo el texto siguiente.

"\E" Fin del efecto de los modificadores \U,\L.

"\a" Emite un pitido.

"\cC" Combinación de Control+Letra. En este caso Control-C .



Los operadores aritméticos:

print 5 + 5; Imprime el resultado de la Suma de 5 y 5.

print 10 - 3; Imprime el resultado de la Resta de 10 y 3.

print 7 * 5; Imprime el resultado de la Multiplicación de 7 por 5.



Estructuras de control

La mayoría de las estructuras de control en PERL, han sido heredadas del lenguaje C/C++, por tanto, para aquellos que conozcan este lenguaje será fácil adaptarse.

En el caso del if en PERL existen 2 variantes en las expresiones que usan en las condiciones de comparación:

Comparación numérica:

== SIGNIFICA igual que

!= SIGNIFICA distinto de

< SIGNIFICA menor que

> SIGNIFICA mayor que

>= SIGNIFICA mayor o igual que

<= SIGNIFICA menor o igual que


$nombre=”jesus”;
if($nombre==jesus)
{
print “Tu nombre es : “ , $nombre;
}


Comparación alfanumérica, literal o de textos.

- eq SIGNIFICA igual que

- ne SIGNIFICA distinto de

- lt SIGNIFICA menor que

- gt SIGNIFICA mayor que

- ge SIGNIFICA mayor o igual que

- le SIGNIFICA menor o igual que


$nombre=”jesus”;
if($nombre eq jesus)
{
print “Tu nombre es : “ , $nombre; }



Estructuras Repetitivas :

Hasta este momento sólo hemos empleado estructuras que permiten decidir si se realiza una u otra acción o varias acciones en función de las distintas posibilidades que permite la condición. En el caso de que queramos repetir una acción o grupo de acciones dependiendo de una condicion, podemos usar for....,foreach...y while. A estas se les llama bucles.



FOR

La instrucción for es la estructura repetitiva más se usada para crear bucles. Se basa en la repetición N veces, definidas por el programador, de una serie de acciones o instrucciones. Cuando la condición propuesta alcanza el máximo de veces definido, concluye esta repetición y sale del bucle.

for ($i=1; $i<=10; $i++)
{
}

Incremento de 1 en 1

$x=$x+1;

$x++;

$x+=1;


FOREACH

Esta instrucción se usa para recorrer los valores de las matrices. La expresión dentro del paréntesis (matriz) es evaluada para producir una lista con sus valores, que actúan como contadores del bucle, ejecutandose el bucle una vez por cada uno de estos elementos.

@nombres= ("Jesus","alejandro","beltran");
foreach $persona (@nombres)
{
print "$persona\n";
}


WHILE

Como indica su nombre, un bucle se repetirá mientras que se cumpla o deje de cumplirse una condición. La nomenclatura de esta estructura repetitiva es:

while (condición)
{
intrucciones...
}


Busquedas

Teniendo una cadena como "Hola Mundo", queremos comprobar si dentro de ella se encuentra la palabra "Mundo".

$cadena="Hola Mundo";
if ($cadena =~ /Mundo/)
{
print "Si existe la palabra”;
}



$cadena="Hola Mundo";

if ($cadena =~ /Universo/)
{
print "No existe la palabra”;
}



Lectura de ficheros

Una vez que ya tenemos los datos grabados, será necesario en más de una ocasión su actualización, por lo que tendremos que leerlos.

# Podemos usar el signo "<" o ninguno delante del fichero, para lectura

open (DATOS,"datos.txt");
#Añadimos cada línea de éste en la matriz.
@registros=;
# Se muestra los datos en pantalla
foreach $datos (@registros)
{
print $datos;
}
# Se cierra el fichero abierto
close (DATOS);


Subrutinas
PERL permite al programador definir sus propias funciones llamadas subrutinas. Se pueden colocar en cualquier lugar dentro de un programa, pero es aconsejable colocarlas todas al principio o final. Para llamar a un subrutina usamos el signo &.

# Inicio de programa con subrutina.
# Se declara la subrutina.
sub hola
{
print "Hola Mundo\n";
}
# Se llama a la subrutina.
&hola;


Retorno de valores

# Inicio del programa
# Declaración de la subrutina.

sub Suma
{
$Total=$_[0] + $_[1];
#$_[0]=9 y $_[1]=5
}
 # Llamada a la subrutina con 2 parámetros.
print &Suma (9,5);
La salida del programa será también: 14

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bueno eso es todo espero y le entiendan

SALUDOS A TODOS
ATTE: JESUS ALEJANDRO BELTRAN REYNA



1 comentario: