jueves, 21 de agosto de 2008

Manual de Perl (IV): Datos Escalares

Después de una breve introducción a Perl, abordaremos el aprendizaje de programación en este lenguaje. Cuando escribimos un programa es por una razón: para realizar cálculos, construir una web, hacer búsquedas en archivos... En cualquier caso, lo que se pretende es resolver un problema y, si utilizamos Perl, probablemente dicho problema gira en torno a la manipulación de datos.

El tipo más básico de datos que normalmente manipula Perl son los datos escalares. El término datos escalares se refiere a un solo tipo de datos, pero abarca números y cadenas; sin embargo, por el momento, haremos una distinción entre los dos. Aprenderemos sobre los diferentes tipos de datos y comenzaremos a manejar el concepto de asignación a variables, operadores y conversiones de tipo.


Tipos de datos

Separaremos los tipos de datos en dos categorías: la primera corresponde a números como 62, 6.2e10 o 7FF. La segunda a cadenas de caracteres como "hello".

Números
Desde el punto de vista del usuario, los números normalmente se clasifican en dos tipos diferentes:

  • Entero. Es decir, un número que no es fraccionario ni mixto. Definiremos un número entero, básicamente, como un número sin punto decimal, como 63 o -1994. Los números enteros se representan por dígitos en base 10.
  • De coma flotante. Estos son, al contrario de los enteros, los números con punto decimal. Ejemplos de estos números son 63.2 o -1994e20.
Estos son los dos tipos básicos, pero también veremos otros dos tipos especiales de números: los octales y los hexadecimales. Los números octales se representan con dígitos en base 8 y los hexadecimales con dígitos en base 16.

Al contrario de la mayoría de los lenguajes de programación, en Perl los números enteros y los de coma flotante son intercambiables, simplemente porque el lenguaje no soporta enteros. En este lenguaje todos los números son convertidos a números de coma flotante aunque los ingresemos como enteros, lo cual simplifica mucho la programación, al no tener que preocuparnos por la mezcla de enteros y números decimales cuando se realizan cálculos.
Si por alguna razón necesitamos usar enteros, es posible habilitar un modo de enteros, mediante una acción que debe ser habilitada por el usuario.
Para profundizar más en la manera de operar con enteros, mirad la sección de enteros de la documentación de las bibliotecas raíz incluidas en Perl.

De todas formas no os preocupéis demasiado por no tener valores verdaderamente enteros. Casi todos tipo de cálculo funciona apropiadamente con números de coma flotante.

Veamos ahora qué formatos de números puede manejar Perl.

[Tabla]

La anotación e es el indicador de "potencia de 10". El número 4e20 se lee "4 por 10 a la 20ª potencia". Dos de los formatos de números de la tabla pueden resultarte nuevos, los hexadecimales y octales.
Los números octales se especifican con un 0 inicial. El número del ejemplo, 0543, es un número octal simplemente porque su primer dígito es 0. Debemos recordar, por tanto, que nunca debemos comenzar un valor en base 10 con el número 0, porque en nuestro script se interpretará como octal.

No hay comentarios: