[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