$a = sub { return $_[0] . " mundo"; } print &$a("Mundo");
Hola Mundo
CODE(0x6188e8)
Hola Se puede usar así (cambiando la sintaxis): $a->("Mundo"); Y se puede usar con Dispatch Tables. Supongamos una función que filtra un texto:sub filtrar { ( $filtro, $texto ) = @_; $a{"solo_letras"} = sub { s/[^A-Za-z]//g; $_ }; $a{"a_mayusculas"} = sub { uc($_); $_ }; return $a{$filtro}->($texto);} Podés llamarla así:filtrar("a_mayusculas", "Hola que tal"); El día de mañana, si querés agregar un filtro nuevo, podés agregar un miembro al hash %a dentro de la función, y tenés todo ahí.
Hola dvadell, gracias por el comentario. Muy buen ejemplo.
Hola
ResponderBorrarSe puede usar así (cambiando la sintaxis):
$a->("Mundo");
Y se puede usar con Dispatch Tables. Supongamos una función que filtra un texto:
sub filtrar {
( $filtro, $texto ) = @_;
$a{"solo_letras"} = sub { s/[^A-Za-z]//g; $_ };
$a{"a_mayusculas"} = sub { uc($_); $_ };
return $a{$filtro}->($texto);
}
Podés llamarla así:
filtrar("a_mayusculas", "Hola que tal");
El día de mañana, si querés agregar un filtro nuevo, podés agregar un miembro al hash %a dentro de la función, y tenés todo ahí.
Hola dvadell, gracias por el comentario. Muy buen ejemplo.
ResponderBorrar