En Perl, hay tres tipos principales de variables, cada uno con su propio prefijo:
1. Escalares ($): Estas variables pueden contener un solo valor, ya sea un número, una cadena de texto, o una referencia. El prefijo para las variables escalares es el signo de dólar $
.
my $name = "Perl";
my $version = 5.30;
2. Arrays (@): Estas variables contienen listas ordenadas de valores escalares. El prefijo para los arrays es la arroba @
.
my @colors = ("red", "green", "blue");
3. Hashes (%): Estas variables almacenan pares clave-valor, donde cada clave se asocia a un valor. El prefijo para los hashes es el símbolo de porcentaje %
.
my %fruit_colors = ("apple" => "red", "banana" => "yellow", "grape" => "purple");
Para declarar y asignar un valor a una variable escalar, utilizamos el prefijo $
:
my $animal = "cat";
my $age = 5;
my $price = 10.99;
Para trabajar con arrays, utilizamos el prefijo @
. Podemos asignar múltiples valores al momento de la declaración:
my @numbers = (1, 2, 3, 4, 5);
my @names = ("Alice", "Bob", "Charlie");
Acceder a los elementos de un array se realiza utilizando un índice y el prefijo $
:
my $first_number = $numbers[0]; # 1
my $second_name = $names[1]; # Bob
Para declarar un hash, utilizamos el prefijo %
y proporcionamos pares clave-valor:
my %ages = ("Alice" => 25, "Bob" => 30, "Charlie" => 35);
Acceder a los valores de un hash se realiza utilizando la clave y el prefijo $
:
my $alice_age = $ages{"Alice"}; # 25
Perl es un lenguaje muy orientado a contextos. Los contextos determinan cómo se interpretan las expresiones y los valores en diferentes situaciones. Hay dos contextos principales:
1. Contexto Escalar: Cuando se espera un solo valor.
2. Contexto de Lista: Cuando se espera una lista de valores.
Por ejemplo, el mismo array puede comportarse de manera diferente dependiendo del contexto:
my @array = (1, 2, 3);
# Contexto escalar: retorna el número de elementos en el array
my $count = @array; # 3
# Contexto de lista: retorna los elementos del array
my @copy = @array; # (1, 2, 3)
Perl maneja principalmente tres tipos de datos: cadenas (strings), números (numbers) y referencias (references).
Las cadenas se manejan de manera flexible y pueden ser manipuladas con facilidad:
my $greeting = "Hello, World!";
my $name = "Alice";
my $message = "$greeting My name is $name.";
Perl maneja números enteros y de punto flotante:
my $integer = 42;
my $float = 3.14;
Las referencias son escalables y permiten apuntar a otras variables o estructuras de datos, similares a los punteros en C:
my @array = (1, 2, 3);
my $array_ref = \@array;
print $array_ref->[0]; # 1
Perl proporciona los operadores básicos para la aritmética:
my $sum = 5 + 3; # 8
my $difference = 10 - 2; # 8
my $product = 4 * 3; # 12
my $quotient = 8 / 2; # 4
my $remainder = 10 % 3; # 1
Las cadenas pueden ser concatenadas usando el operador .
:
my $full_name = "Alice" . " " . "Smith"; # Alice Smith
Perl tiene operadores específicos para comparar números y cadenas:
my $is_equal = (5 == 5); # verdadero
my $is_not_equal = (5 != 4); # verdadero
my $is_greater = (6 > 4); # verdadero
my $is_equal = ("abc" eq "abc"); # verdadero
my $is_not_equal = ("abc" ne "def"); # verdadero
my $is_greater = ("xyz" gt "abc"); # verdadero
1. Usar use strict;
y use warnings;
: Estas directivas ayudan a identificar errores comunes y a forzar una codificación más segura.
use strict;
use warnings;
2. Declarar variables con my
: Siempre declarar variables con my
para limitar su alcance y evitar conflictos.
3. Nombrar variables descriptivamente: Elegir nombres de variables que describan claramente su propósito.
4. Comentarios: Usar comentarios para explicar el código y mejorar la legibilidad.
Trabajar con variables y tipos en Perl puede ser tanto simple como poderoso, gracias a la flexibilidad del lenguaje. Comprender cómo manejar escalares, arrays y hashes, así como los contextos y tipos de datos, es esencial para aprovechar al máximo Perl en tus proyectos. Con una base sólida en estas áreas, puedes escribir código Perl eficiente, legible y mantenible.
Jorge García
Fullstack developer