[Programación]callback en perl?
Angel Arancibia
angel.arancibia en gmail.com
Mie Dic 30 11:20:56 ARST 2009
El día 30 de diciembre de 2009 01:07, Nicolás Aimetti
<naimetti en yahoo.com.ar> escribió:
> Hola,
>
> Tenés dos opciones:
>
> usar un closure:
>
> #función que invoca el callback
> sub f {
> my ($puntero_a_funcion) = @_;
> $puntero_a_funcion->();
> }
>
> #Lu`ego la invocas:
> f ( sub { print "Esta es una función anónima o closure\n" } );
>
> #La otra opción es un puntero a una función
>
> sub g {
> print "soy g\n";
> }
>
> #así se pasa el puntero
> f( \&g );
Gracias nicolas, lo resolvi con la segunda forma, el puntero a
funcion. Ahora me surge una duda, lo implemente de la siguiente forma
(fue un rato antes de ver tu respuesta):
###########
require "./detect.pl";
use strict;
sub f{
print "soy f";
}
my $foo=detection_linux->new();
$foo->init_detectar(&f);
$foo->detect_test;
###########
En tu respuesta figura un "\" antes del &. cual es la razon para eso?
Saludos, y muchas gracias por tu tiempo.
Angel
Más información sobre la lista de distribución Programacion