Introducción
En Perl, los arreglos (arrays) son una estructura de datos fundamental que permite almacenar listas ordenadas de valores. Los arreglos son dinámicos, lo que significa que pueden crecer o reducirse según sea necesario. En esta sección, aprenderás cómo declarar, inicializar y manipular arreglos en Perl.
Declaración e Inicialización de Arreglos
Para declarar un arreglo en Perl, se utiliza el símbolo @
seguido del nombre del arreglo. Los elementos del arreglo se pueden inicializar al momento de la declaración.
# Declaración e inicialización de un arreglo my @numeros = (1, 2, 3, 4, 5); my @frutas = ('manzana', 'naranja', 'plátano');
Acceso a Elementos del Arreglo
Los elementos de un arreglo se acceden utilizando índices, que comienzan en 0.
Modificación de Elementos del Arreglo
Puedes modificar los elementos de un arreglo asignando nuevos valores a los índices correspondientes.
# Modificación de elementos del arreglo $numeros[2] = 10; $frutas[0] = 'pera'; print "@numeros"; # Imprime 1 2 10 4 5 print "@frutas"; # Imprime pera naranja plátano
Funciones Comunes para Arreglos
push
y pop
La función push
agrega elementos al final del arreglo, mientras que pop
elimina y devuelve el último elemento del arreglo.
# Uso de push y pop push(@numeros, 6); # Agrega 6 al final del arreglo my $ultimo = pop(@numeros); # Elimina y devuelve el último elemento (6)
shift
y unshift
La función shift
elimina y devuelve el primer elemento del arreglo, mientras que unshift
agrega elementos al inicio del arreglo.
# Uso de shift y unshift unshift(@frutas, 'uva'); # Agrega 'uva' al inicio del arreglo my $primero = shift(@frutas); # Elimina y devuelve el primer elemento ('uva')
splice
La función splice
permite agregar, eliminar o reemplazar elementos en un arreglo.
# Uso de splice splice(@numeros, 1, 2, (20, 30)); # Reemplaza 2 elementos a partir del índice 1 con 20 y 30 print "@numeros"; # Imprime 1 20 30 4 5
join
y split
La función join
convierte un arreglo en una cadena de texto, mientras que split
convierte una cadena de texto en un arreglo.
# Uso de join y split my $cadena = join(", ", @frutas); # Convierte el arreglo en una cadena separada por comas print $cadena; # Imprime pera, naranja, plátano my @nuevas_frutas = split(", ", $cadena); # Convierte la cadena de vuelta en un arreglo print "@nuevas_frutas"; # Imprime pera naranja plátano
Ejercicios Prácticos
Ejercicio 1: Manipulación Básica de Arreglos
- Declara un arreglo con los números del 1 al 5.
- Agrega el número 6 al final del arreglo.
- Elimina el primer elemento del arreglo.
- Reemplaza el tercer elemento del arreglo con el número 10.
- Imprime el arreglo resultante.
Solución
# Paso 1 my @numeros = (1, 2, 3, 4, 5); # Paso 2 push(@numeros, 6); # Paso 3 shift(@numeros); # Paso 4 $numeros[2] = 10; # Paso 5 print "@numeros"; # Imprime 2 3 10 5 6
Ejercicio 2: Uso de join
y split
- Declara un arreglo con los nombres de tres ciudades.
- Convierte el arreglo en una cadena de texto separada por comas.
- Convierte la cadena de texto de vuelta en un arreglo.
- Imprime el arreglo resultante.
Solución
# Paso 1 my @ciudades = ('Madrid', 'Barcelona', 'Valencia'); # Paso 2 my $cadena_ciudades = join(", ", @ciudades); # Paso 3 my @nuevas_ciudades = split(", ", $cadena_ciudades); # Paso 4 print "@nuevas_ciudades"; # Imprime Madrid Barcelona Valencia
Conclusión
En esta sección, hemos cubierto los conceptos básicos de los arreglos en Perl, incluyendo su declaración, inicialización, acceso y modificación de elementos, así como algunas funciones comunes para manipular arreglos. Con estos conocimientos, estarás preparado para manejar listas de datos de manera eficiente en tus programas Perl. En la próxima sección, exploraremos los hashes, otra estructura de datos fundamental en Perl.
Curso de Programación en Perl
Módulo 1: Introducción a Perl
Módulo 2: Programación Básica en Perl
Módulo 3: Trabajando con Datos
Módulo 4: Programación Intermedia en Perl
Módulo 5: Programación Avanzada en Perl
- Expresiones Regulares Avanzadas
- Interacción con Bases de Datos usando DBI
- Programación Web con Perl
- Multithreading