Lección 6 / 20

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.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 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).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)