Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/09/2004, 05:14
Avatar de monoswim
monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 23 años, 1 mes
Puntos: 90
a ver si te entiendo: tienes un archivo com ser usuarios.downline en donde tienes todos los usuarios de la forma

usuario1
usuario2
usuario2

y quieres eliminar uno de esos usuarios.

para eso tienes que abrir el archivo usuarios.downtime y colocar su contenido en un @array, ahora bien, hacemos un bucle (foreach) que verifique cada uno de los elementos del array comparándolo con el usuario que quieres eliminar: Si es distinto, colocamos ese usuario en un nuevo array que tendrá los usuarios que quedan, si es igual que lo deje en el array viejo...Y lógicamente, para tenminar abrimos el archivo y guardamos el nuevo array con los usuarios que quedan.

Código:
sub delete {
        my @new_registros;
        open (MONOSWIM, "<$datadir/downline/$first/$sponsor.downline") || &error('abrir','archivo');
        my @registros = <MONOSWIM>;
        close (MONOSWIM) || &error('cerrar','archivo');

foreach my $registro (@registros){
                $registro =~ s/\n//g;
                if ($registro ne $usuario_a_eliminar){
                        push (@new_registros,$registro);
                }
        }

        open (MONOSWIM, ">$datadir/downline/$first/$sponsor.downline") || &error('abrir','archivo');
        foreach my $new_registro (@new_registros){
                print MONOSWIM "$new_registro\n";
        }
        close (MONOSWIM) || &error('cerrar','archivo');

}
Como verás en la función open la primera palabra es solo el nombre del manejador de archivo, ahí puedes poner lo que quieras, MONOSWIM, DATABASE, CACA O CUALQUIER PALABRA y luego de la coma (,) va la dirección del archivo antecedida por la manera en la cual vas a abrir el archivo

< Solo lectura
> Lo puedes escribir desde el principio (borra todo)
>> Deja todo como está y se posiciona al final del archivo

Bueno, decime cualquier cosa que no entiendas

Saludos
__________________
Esteban Quintana

Última edición por monoswim; 08/09/2004 a las 05:15