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