[Perl] script q alparecer no funciona

Ing. Ricardo Cumberbatch L. (PANNet - URC) rcumber@utp.ac.pa
Tue, 25 Feb 2003 16:06:30 -0500 (GMT)


Gracias por tu sugerencia, la puse en practica pero analizando la logica y
los resultados obtenidos.

Tu esquema o logica me da como resultado la impresion de todos es decir
todos estan repetidos y no es asi.

Gracias por la ayuda

On Tue, 25 Feb 2003, Jose Antonio Galicia wrote:

> On Tue, 25 Feb 2003, Ing. Ricardo Cumberbatch L. (PANNet - URC) wrote:
>=20
> > while (<LECTOR>) { #PRIMER WHILE
> > =09chomp;
> > =09@linea =3D split;
> > =09$name =3D substr($linea[0], 0, 4);
>=20
>  Si vas a tomar los primero 4 caracteres de la l=EDnea, =BFpara
> que el chomp y el split?
>=20
> > =09=09if ($name1 =3D~ /$name/i){
>=20
>  =BFEso es lo que quieres? Esto es, estas tomando los primero
> 4 caracteres y los compara con otros cuatro caracteres a ver
> "uno esta dentro de la otra". Es, seg=FAn yo, un desperdicio
> de recursos. Adem=E1s estas caminando m=E1s de una vez por el
> mismo archivo.
>=20
>  Se me ocurre as=ED:
>=20
> =09open LECTOR, "uno";
> =09while (<LECTOR>) { #PRIMER WHILE
> =09  $name =3D uc substr($_, 0, 4);
> =09  $name{$name}=3D1;
> =09}
> =09close LECTOR;
>=20
> =09open LECTOR, "dos";
> =09open IMPRESO, ">>tres";
> =09while (<LECTOR>) { #SEGUNDO WHILE
> =09  $name =3D uc substr($_, 0, 4);
> =09  if ($name{$name}) {
> =09    print IMPRESO $_;
> =09    print $_
> =09  }
> =09}
> =09close LECTOR;
> =09close IMPRESO;
>=20
> > Haber si he obviado algo y gracias
>=20
>  =BFLas clases de espa=F1ol? :) Es "a ver".
>=20
>  Saludos,
>  To=F1o
> ---
> Que te cases o que no te cases, siempre te pesar=E1.
>=20
>=20