¿Ya dominas lo básico? Un curso estructurado de Perl es la vía rápida para dar el salto.
Ver cursos de Perl en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (print)
- 03Variables (variables escalares, $)
- 04Condicionales (la sentencia if)
- 05Repetir (el bucle for)
- 06Escribir una subrutina (una función)
- 07Repetir (el bucle while)
- 08Trabajar con arrays (@)
- 09Trabajar con hashes (%)
- 10Coincidencia con expresiones regulares
- 11Sustitución con expresiones regulares (s///)
- 12Trabajar con texto
- 13Referencias
- 14Subrutinas anónimas
- 15Entrada y salida de archivos, lo básico
- 16Módulos y use strict / warnings
- 17El operador ternario
- 18Ordenar (sort)
- 19Paquetes y lo básico de la orientación a objetos
- 20[Proyecto] Construye un mini sistema de inventario
Referencias
En esta lección guardarás la dirección de un array dentro de un escalar.
La barra invertida delante de una variable crea una referencia: \@fruits es «la dirección de este array», y cabe en un escalar. Para volver a usarla como array se le antepone @: @$ref. scalar() devuelve el número de elementos.
El código de ejemplo crea una referencia a un array, cuenta sus elementos y muestra el primero.
Las referencias son el punto donde Perl se vuelve exigente, y merece la pena entender por qué existen. Al pasar @a, @b a una subrutina, Perl aplana las dos listas en una sola dentro de @_ y ya no puedes distinguir dónde acababa la primera. Pasando referencias, \@a, \@b, cada una sigue siendo una cosa. Sin referencias, sencillamente no se puede escribir una función que reciba dos listas.
Son también lo que permite construir estructuras anidadas —listas de hashes, hashes de listas—, que es como se representa cualquier dato con forma en Perl, empezando por el JSON. La sintaxis moderna para llegar a los elementos es la flecha: $ref->[0] y $ref->{clave}, más legible que la del ejemplo.
🧪 Este sitio no puede compilar ni ejecutar Perl directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
