En el boletín de este mes de Cafe.pm Andrés Kievsky ha puesto un desafío de Perl, el cual me pareció interesante y aquí se los presento:
Andrés Kievsky escribiste:
- Código: Seleccionar todo
#!/usr/bin/perl
use strict;
use warnings;
my $suma;
<solución>
$suma->{1} = 31;
$suma->[3] = 11;
print $suma->()."\n";
Agregar una línea de código al programa anterior, de forma tal que el print imprima la suma de los dos números. En este caso, la salida sería 42 (es decir, 31+11) pero tiene que funcionar para cualquier número que uno ponga en $suma->{1} y $suma->[3] (incluso si uno repite las últimas 3 líneas varias veces) .
La línea tiene las siguientes restricciones:
- no se puede utilizar bless ni tie ni puede ser un objeto
- no se pueden usar pseudohashes
- no puede haber más de un ; en la línea
- la solución debe tener 35 caracteres o menos
- no debe generar warnings ni errores, usando siempre ``use warnings'' y ``use strict''
- no se puede agregar más código que el de esa línea.
- no se pueden usar módulos de ningún tipo
Está probado en Perl 5.8.0 y 5.8.5.
¡Quien tenga la solución primero gana!
SALUDOS