[Perl] equivalencia de un case
Gunnar Wolf
gwolf@campus.iztacala.unam.mx
Tue, 12 Mar 2002 16:00:20 -0600 (CST)
> > Voy a implementar en una programacion que tengo operativa en PERL un mo=
dulo de traduccion por llamarlo de alguna forma.
> >
> > Se trata de hacer algo como el sistema que utiliza el php-nuke
> >
> > Pero PERL no tiene ninguna sentencia equivalente.
>(...)
> Ahora que, a mi me gusta m=E1s usando un hash:
>
> my %Maps =3D (
> '0001' =3D> 'Mensaje n=FAmero uno',
> '0002' =3D> 'Mensaje n=FAmero dos',
> # Etc;
> };
A m=ED me gusta abundar un poco en esto, si vas a pasar seguido por esta
construcci=F3n:
%tipo =3D ( 'a' =3D> sub { print "Es de tipo A\n"; },
'b' =3D> sub { print "No, no me gusta...\n"; },
'c' =3D> sub { otraCosa(1,2); } );
Y cuando lo requieras, la llamas as=ED:
&{$tipo{$expr}};
Te puedes ahorrar una GRAN cantidad de comparaciones.
Salus,
--=20
Gunnar Wolf - gwolf@campus.iztacala.unam.mx - (+52-55)5623-1118
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF