Tipos de datos
Scalar $
Arrays @
Hashes %
Scalar
$edad = 25;
$nombre = "Juan Jose";
$salario = 1445.50;
Arrays
@edades = (25, 30, 40);
@nombres = ("John Paul", "Lisa", "Kumar");
@array = qw/Esto es un array/;
@var_10 = (1..10);
$edades[0] = 25
$edades[1] = 30
$edades[2] = 40
$nombres[0] = John Paul
$nombres[1] = Lisa
$nombres[2] = Kumar
scalar @array Numero de elementos
$#array Indice del último elemento
push(@nombres, "Penny");Introduce un elemento al final del array
unshift(@nombres, "Francisco");Introduce un elemento al principio del array
pop(@nombres);Borra un elemento del final del array
shift(@nombres);Borra un elemento del principio del array
@elegidos = @nombres[2,3,4];Rellena la matris @elegidos con 3 nombres por sus indices. Tambien se puede hacer por rango [2..4]
Hashes
%data = ('John Paul', 45, 'Lisa', 30, 'Kumar', 40);
print "\$data{'John Paul'} = $data{'John Paul'}\n";
Su salida es:
$data{'John Paul'} = 45 (que es otra forma de añadir llaves y valores al hash)
Para mayor legibilidad al crear el hash:
%data = ('John Paul' => 45, 'Lisa' => 30, 'Kumar' => 40);
%data = (-JohnPaul => 45, -Lisa => 30, -Kumar => 40);
Extraer porción del hash
@array = @data{'JohnPaul', 'Lisa'};
Extracion de llaves (keys) (a un array)
@names = keys %data;
Al igual los valores (values)
@ages = values %data;
Comprobar existencia
if( exists($data{'Lisa'} ) ){
print "Lisa is $data{'Lisa'} years old\n";
}
else{
print "I don't know age of Lisa\n";
}
Tamaño del hash:
@keys = keys %data;
$size = @keys; (en $size estará el número de llaves en el array)
Para añadir elementos:
$data{'Ali'} = 55;
Y para borrarlos:
delete $data{'Ali'};
Condicionales
Bucles
Operadores
Subrutinas procedimientos
Funciones
Ref. funciones
www.w3ii.com