¿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
Escribir una subrutina (una función)
En esta lección agruparás un trozo de lógica bajo un nombre para poder reutilizarlo.
Una subrutina se declara con sub nombre { ... }. Los argumentos no se declaran: llegan todos dentro del array especial @_, y shift saca el primero. return devuelve el resultado.
El código de ejemplo define una subrutina que construye un saludo y la llama al imprimir. Las llaves de ${name} delimitan dónde acaba el nombre de la variable, algo necesario cuando le sigue un carácter que podría formar parte del nombre.
Esa forma de recibir argumentos es lo más ajeno para quien viene de otros lenguajes: la firma de la subrutina no dice nada sobre qué espera. Por eso la primera línea de casi toda subrutina en Perl es my ($a, $b) = @_;, que nombra los argumentos de una vez y hace las veces de declaración.
Y como consecuencia, Perl no comprueba cuántos argumentos le pasas: si olvidas uno, la variable queda indefinida y el fallo aparece más adelante, lejos de su causa. Activar use warnings hace que al menos te avise al usar un valor indefinido.
🧪 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).
