Lección 14 / 20

Subrutinas anónimas

En esta lección crearás una subrutina sin nombre y la aplicarás a toda una lista.

sub { ... } sin nombre devuelve una referencia a esa subrutina, que se guarda en un escalar y se llama con la flecha: $add_tax->($precio). map aplica un bloque a cada elemento de una lista y devuelve la lista de resultados, donde $_ representa el elemento actual.

El código de ejemplo define un cálculo de impuesto y lo aplica a tres precios. Al imprimir "@with_tax" entre comillas dobles, Perl une los elementos con espacios.

Esa variable $_ aparece por todas partes en Perl: es el «elemento actual» implícito de map, grep y foreach. Ahorra escritura y, usada en exceso, hace el código ilegible; la costumbre sensata es usarla en bloques cortos y poner un nombre explícito en los largos.

Fíjate en el int() del cálculo: descarta los decimales, así que con 105 el impuesto sería 10 y no 10,5. En cálculos de dinero eso importa, y es la razón por la que en producción se trabaja en céntimos con enteros o con módulos decimales específicos.

📖 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)