open (LECTOR1, "$datainfo/students_creados") || die "ERROR: NO Encuentro 
el archivo 'students_creados'\n";
while (<LECTOR1>) { #PRIMER WHILE
chomp;
                 @linea = split;
                 $login = $linea[7];

if ($name[0] =~ /$login/i){
                     $count1 += 1;
            if ($count1 > 1){

This only compares the name in $login to the first record in @name - you 
may have meant:
if ( $name[$i] =~

but that way lies madness. You're looping through the file once, then once 
more for each name found, which'll soon combinatorilly explode on you.  A 
hash (untested):
my %names;
open (LECTOR, "$datainfo/students_creados") 
  or die "ERROR: NO Encuentro el archivo 'students_creados': $!\n";
# always use $! 
while (<LECTOR>) { #PRIMER WHILE
    chomp;
    my @linea = split;
# upper case name to make matches easier
    my $login = uc($linea[7]);
    $names{$login}++;
}
close LECTOR;
open (PRINTER, ">>$datainfo/repeticiones");
  or die "ERROR: NO puede abrir $datinfo/repeticiones": $!\n";
my $name;
foreach $name ( keys %names ) {
  print PRINTER "$key   $names{$name}\n"
    if $names{$name} > 1;
}
close PRINTER

Andy Bach, Sys. Mangler
Internet: [EMAIL PROTECTED] 
VOICE: (608) 261-5738  FAX 264-5030

"If you don't say anything, you won't be called on to repeat it" 
Calvin Coolidge
_______________________________________________
Perl-Unix-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to