[Perl] Clasificaciones
Salman PSL
correo@salman.es
Wed, 12 Jun 2002 19:32:54 +0100
Ok, perfecto.
Probado y funcionando.
Las dichosas expresiones regulares, cuanta potencia y que poca =
documentacion para tanta potencia :-(
Gracias.
Saludos
Salvador Guzm=E1n
Salman PSL
Vigo, Galicia, Espa=F1a
+34 986-21.30.27
M=F3vil 679-Salman
Correo@Salman.ES
http://salman.net/
http://apedra.com/
----- Mensaje original -----=20
De: "Jose Antonio Galicia" <jcgalici@cbbanorte.com.mx>
Para: "Salman PSL" <correo@salman.es>
CC: <perl@tlali.iztacala.unam.mx>
Enviado: mi=E9rcoles, 12 de junio de 2002 18:12
Asunto: Re: [Perl] Clasificaciones
> On Wed, 12 Jun 2002, Salman PSL wrote:
>=20
> > @ordenado =3D sort {($a =3D~ /(.*)\|(.*)/)[1] cmp ($b =3D~ =
/(.*)\|(.*)/)[1]} @desordenado;
>=20
> > =BF Que estoy haciendo mal ? :-(
>=20
> En una expresi=F3n regular el ".*" significa "hasta donde
> puedas" por lo que se esta "tragando" m=E1s de lo que quieres
> que se trage. Ve:
>=20
> $ perl <<EOP
> open F, "x";
> @D=3D<F>;
> close F;
> @O =3D sort { ($a =3D~ /(.*?)\|(.*)/)[1] cmp ($b =3D~ =
/(.*?)\|(.*)/)[1] } @D;
> print @O;
> EOP
>=20
>=20
> la "=FAnica" diferencia es que estoy limitando el alcance del
> primer .* con un "?" para se detenga ante el primer "|" que
> es exactamente lo que quieres hacer.
>=20
> Saludos,
> To=F1o
> ---
> "No, `Eureka' is Greek for `This bath is too hot.'"
> -- Dr. Who
>=20