lunes, 9 de septiembre de 2013

Tipos de datos en Perl


En Perl existen tres clases de tipos de datos: Escalares, Listas y Hashes(listas asociadas).

Tipos de datos escalares

Los tipos de datos escalares pueden ser tanto números, como cadenas de texto o referencias, este tipo de datos sólo pueden albergar un valor, es decir a una variable le añades sólo un valor ... $variable = 1; para albergar más valores existen las listas o hashes que veremos más adelante.

Tipos de datos:

  • Números Enteros: son un conjunto de números que incluye a los números naturales distintos de cero (1, 2, 3, ...), los negativos de los números naturales (..., -3, -2, -1) y al 0.
  • Strings o cadenas de texto: Este tipo de datos incluye a todas las cadenas de texto, que pueden ir tanto entre comillas simples, como en comillas dobles.
  • Numeros Reales: incluyen tanto a los números racionales (positivos, negativos y el cero) como a los números irracionales; y en otro enfoque, trascendentes y algebraicos. Este tipo de datos permite realizar complejas operaciones matemáticas.


Es importante reseñar que los valores enteros nunca pueden empezar en cero, porque esto permite especificar un entero mediante su codificación octal o hexadecimal. La codificación octal siempre empieza en 0 y la hexadecimal en 0x

Ejemplos:

#string o cadena de texto
$string = "Hola Mundo";
print $string;
print "\n";

#string o cadena de texto
$string = 'Hola Mundo';
print $string;
print "\n";

#numero entero
$numero_entero = 568;
print $numero_entero;
print "\n";

#numero entero
$numero_entero = -560;
print $numero_entero;
print "\n";

#numero real
$numero_real = 11e-24;
print $numero_real;
print "\n";

#numero real
$numero_real = 0.2456;
print $numero_real;
print "\n";

#codificacion octal
$octal = 0333;
print $octal;
print "\n";

#codificacion hexadecimal
$hexadecimal = 0x12affe11;
print $hexadecimal;
print "\n";

Arrays - Listas

Los Arrays en perl permiten almacenar elementos que son indexados a partir de 0, es decir el primer elemento de un Array es 0, para declarar un array se utiliza la arroba "@", ejemplo -> @productos = ("ropa", "calzado");, los elementos van entre paréntesis y cada elemento separado por comas, también hay que tener en cuenta que para acceder a un elemento del Array se utiliza el tipo de dato de escalar, es decir, se interpreta a modo de variable indicando el número index, por ejemplo -> print $productos[1];, que devolvería "calzado". También reseñar que una lista puede albergar cualquier tipo de datos, ya sea un número entero, un string, ..., ejemplo -> @varios = ("cero", 1, "dos", 3);
 
Los Arrays multidimensionales permiten albergar otros arrays en un array, este procedimiento necesitan ir escalando a través de la indexación de cada uno de los Arrays empezando por el principal, por ejemplo -> @multi = (["hola", "adios"], [23, 50, 70, 49]);, para acceder por ejemplo al número 50 del segundo array -> $multi[1][1];

Ejemplo:

#lista
print "****LISTAS**** \n";
@numeros = (0, 1, 2, 3, 4, 5);
print @numeros;

#acceder a un elemento de la lista
print "\n Acceder a un numero de la lista ... ";
print $numeros[2];

#lista multidimensional
@multidimensional = ([0,1],["cero", "uno"]);
print "\n Array multidimensional ... ";
print $multidimensional[0][1];
print $multidimensional[1][1];

Arrays - Hashes(listas asociativas)

Las listas asociativas permiten asociar el valor de un elemento a una referencia o clave, este tipo de arrays se declaran mediante el signo del tanto por ciento "%", por ejemplo -> %asociativo = ("uno" => 1, "dos" => 2);, para extraer un elemento se utiliza la referencia, por ejemplo para extraer el número 2 -> print $asociativo{"dos"}.

Ejemplo:

#listas asociativas
print "****LISTAS ASOCIATIVAS**** \n";
%numeros = ("uno" => 1, "dos" => 2);
print %numeros;

#acceder a un elemento de la lista asociativa
print "\n Acceder a un numero de la lista asociativa ... ";
print $numeros{"dos"};