Perl - Tipos de datos

Perl es un lenguaje de tipo flexible y no es necesario especificar un tipo para sus datos mientras se usa en su programa. El intérprete de Perl elegirá el tipo en función del contexto de los datos en sí.

Perl tiene tres tipos de datos básicos: escalares, matrices de escalares y hashes de escalares, también conocidos como matrices asociativas. Aquí hay un pequeño detalle sobre estos tipos de datos.

No Señor. Tipos y descripción
1

Scalar

Los escalares son variables simples. Están precedidos por un signo de dólar ($). Un escalar es un número, una cadena o una referencia. Una referencia es en realidad la dirección de una variable, que veremos en los próximos capítulos.

2

Arrays

Las matrices son listas ordenadas de escalares a las que accede con un índice numérico, que comienza con 0. Están precedidas por un signo "arroba" (@).

3

Hashes

Los hash son conjuntos desordenados de pares clave / valor a los que accede utilizando las claves como subíndices. Están precedidos por un signo de porcentaje (%).

Literales numéricos

Perl almacena todos los números internamente como enteros con signo o como valores de punto flotante de doble precisión. Los literales numéricos se especifican en cualquiera de los siguientes formatos de punto flotante o entero:

Tipo Valor
Entero 1234
Entero negativo -100
Punto flotante 2000
Notación cientifica 16.12E14
Hexadecimal 0xffff
Octal 0577

Literales de cadena

Las cadenas son secuencias de caracteres. Por lo general, son valores alfanuméricos delimitados por comillas simples (') o dobles ("). Funcionan de manera muy similar a las comillas de shell de UNIX, donde puede usar cadenas entre comillas simples y cadenas entre comillas dobles.

Los literales de cadena entre comillas dobles permiten la interpolación de variables, mientras que las cadenas entre comillas simples no. Hay ciertos caracteres cuando van precedidos de una barra invertida, tienen un significado especial y se utilizan para representar como nueva línea (\ n) o tabulación (\ t).

Puede incrustar nuevas líneas o cualquiera de las siguientes secuencias de escape directamente en sus cadenas entre comillas dobles:

Secuencia de escape Sentido
\\ Barra invertida
\ ' Una frase
\ " Cotización doble
\un Alerta o campana
\segundo Retroceso
\F Alimentación de formulario
\norte Nueva línea
\ r Retorno de carro
\ t Pestaña horizontal
\ v Pestaña vertical
\ 0nn Crea números con formato octal
\ xnn Crea números con formato hexideciamal
\ cX Controla caracteres, x puede ser cualquier carácter
\ u Fuerza el carácter siguiente a mayúsculas
\ l Fuerza el siguiente carácter a minúsculas
\ U Obliga a todos los caracteres siguientes a usar mayúsculas
\ L Fuerza a todos los siguientes caracteres a minúsculas
\ Q Barra invertida todos los siguientes caracteres no alfanuméricos
\MI Fin \ U, \ L o \ Q

Ejemplo

Veamos nuevamente cómo se comportan las cadenas con comillas simples y comillas dobles. Aquí usaremos los escapes de cadena mencionados en la tabla anterior y haremos uso de la variable escalar para asignar valores de cadena.

#!/usr/bin/perl

# This is case of interpolation.
$str = "Welcome to \ntutorialspoint.com!";
print "$str\n";

# This is case of non-interpolation.
$str = 'Welcome to \ntutorialspoint.com!';
print "$str\n";

# Only W will become upper case.
$str = "\uwelcome to tutorialspoint.com!";
print "$str\n";

# Whole line will become capital.
$str = "\UWelcome to tutorialspoint.com!";
print "$str\n";

# A portion of line will become capital.
$str = "Welcome to \Ututorialspoint\E.com!"; 
print "$str\n";

# Backsalash non alpha-numeric including spaces.
$str = "\QWelcome to tutorialspoint's family";
print "$str\n";

Esto producirá el siguiente resultado:

Welcome to
tutorialspoint.com!
Welcome to \ntutorialspoint.com!
Welcome to tutorialspoint.com!
WELCOME TO TUTORIALSPOINT.COM!
Welcome to TUTORIALSPOINT.com!
Welcome\ to\ tutorialspoint\'s\ family