UNIDAD 3: CONTROL DE PROGRAMA

TEMA PERL 6: LISTAS ASOCIATIVAS

Una lista asociativa en perl es una lista bidimensional, que contiene el par (clave,valor), ejemplo:

Alumno

Clave……………………………..valor

matricula 99210200
nombre Juan
carrera informatica
edad 18

Para este tipo de lista se puede accesar a cualquier valor conociendo la clave, por ejemplo si se pide imprimir carrera saldra en pantalla informatica.

Para declarar una lista asociativa se usara el simbolo %

Para crear una lista asociativa se puede usar cualquiera de los dos siguientes formatos:

%lista( 'x',5,'y',6,'z',7); en este ejemplo las clavez son x,y,z y sus valores respectivos son 5,6,7

%otralista('matricula' ⇒ 99210, 'nombre'⇒'juan', 'carrera'⇒'informatica', edad⇒18)–> remplazando , por ⇒, para que se vean mas bonitos los pares.

Listas asociativas tambien pueden:

En cualquier momento se puede agregar un elemento

$otralista{'semestre'}=5;

La funcion delete sirve para borrar un elemento

delete $lista{'x'};

La funcion keys crea un arreglo con las claves

%a = ( x ⇒ 5, y ⇒ 3, z ⇒ 'abc' );

@b = keys %a

# @b queda con ( 'x', 'y', 'z');

La funcion values regresa un arreglo con los valores

%a = ( x ⇒ 5, y ⇒ 3, z ⇒ 'abc' );

@v = values %a

# @v queda con ( 5, 3, 'abc' );

La funcion exists prueba si la clave existe

%a = ( x ⇒ 5, y ⇒ 3, z ⇒ 'abc' );

$b = exists $a{z};

# $b queda con 1

$c = exists $a{w};

# $c queda con ””

prog13.pl

#! /usr/bin/perl -w
# usando modulo o libreria CGI
use CGI;
# creando el OBJETO de tipo CGI
$q = new CGI;
# mandando servidor los encabezados de la pagina html
$resp = '';
print $q->header;
print $q->start_html();
print $q->hr();
print $q->startform();
# creando lista asociativa
%lista=( 'x',5,'y',6,'z',7);
# procesando
print "x= $lista{'x'}" ;
print " y= $lista{'y'}" ;
print " z= $lista{'z'}" ;
print $q->submit('OK');
print $q->endform();
print $q->hr();
#cerrando html
print $q->end_html;

Observar como se accede al valor:

Corrida:

image253.jpg

TAREAS PROGRAMACION PERL :

1.- Construir un pl donde prueben algunas de las funciones de listas asociativas.

Politica de Privacidad