[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