+ JJ Merelo <[email protected]>:
> Pasando profiler a algunos programillas me he dado cuenta que return
> $foo tarda bastante tiempo; el problema es que se mete en la pila el
> resultado de la última sentencia de una subrutina hagas lo que hagas,
> con lo que consume bastante tiempo. No sé si pasarlo a un closure
> merecerá la pena, pero en todo caso, ¿hay alguna forma de evitar el
> return en una subrutina? ¿Quizás definiendo prototipos?
En vez de devolver el valor $foo con return por que no lo devuelves
por referencia en uno de los parámetros de la llamada?
use 5.010;
my $resultado = 0;
func(\$resultado);
say $resultado;
sub func {
my ($res_ref) = @_;
$$res_ref = 42; # cálculo de $foo;
return;
}
--
Alex Muntada <[email protected]>
http://alexm.org/
_______________________________________________
Madrid-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/madrid-pm