[Perl] Comparar valores en un mismo archivo

Gabriel Arenas Romero garenrom@eljorullo.com.mx
11 Mar 2003 17:54:09 -0600


Hola:

Hay una manera mas sencilla de determinar si hay valores repetidos:
usando un arreglo asociativo


1:- definir el arreglo
  my %nombre;

> Abrir archivo y meter los valores en una tabla ($name[count] = $login;),
> open (LECTOR, "$datainfo/students_creados") || die "ERROR: NO Encuentro el
> archivo 'students_creados'\n";
> while (<LECTOR>) { #PRIMER WHILE
> chomp;
> 	@linea = split;
> 	$facul = $linea[4];
> 	$facul =~ tr/A-Z/a-z/;
> 	$facult = substr($facul, 0, 3);
> 	if ($facult eq 'cie') {
>    	$login = $linea[7];
> 	$name[$count] = $linea[7];
> 	$count += 1;
   2:- agregar aqui
        # si el $login ya esta en el arreglo
          if ( $nombre{$login}==1 ) {
              print "ya esta registrado => $login  \n";
              $repetidos++;
          } else {
          # se agrega nuevo valor al arreglo
            $nombre{$login} = 1;   
          } # fin de if
        } # fin de if
> .
3.- si quieres, aquí cierra tu ciclo


> }#PRIMER WHILE
> close LECTOR1;

y eso es todo. Claro puedes adaptarlo mejor a tus necesidades.

Siento que tu otro modelo de recorrer dos veces el archivo no es
funcional.

                
Hasta luego

      Gabriel
          

-- 
Gabriel Arenas Romero <garenrom@eljorullo.com.mx>
Express y Carga El Jorullo S.A. de C.V.