Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/08/2004, 05:42
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
Te paso esta función que escribí yo mismo...

Código:
sub delete {
        my @new_registros;
        open (DATABASE, "<$_[0]") || &error('abrir','archivo');
        my @registros = <DATABASE>;
        close (DATABASE) || &error('cerrar','archivo');

        foreach $registro (@registros){
                $registro =~ s/\n//g;
                my($id,@basura) = split(/\|\|/, $registro);
                if ($id != $_[1]){
                        push (@new_registros,$registro);
                }
        }

        open (DATABASE, ">$_[0]") || &error('abrir','archivo');
        foreach $new_registro (@new_registros){
                print DATABASE "$new_registro\n";
        }
        close (DATABASE) || &error('cerrar','archivo');

}
Hola, yo escribí algunos tutoriales sobre como usar bases de datos tipo texto y los uedes encontrar en www.perlenespanol.com

En esta función la tienes que llamar pasándole 2 parámetros, uno el nombre del archivo, y otro el número id del registro a eliminar...

la idea es que el archivo esté así:

1||usuario1
2||usuario2
3||usuario3

Para usarlo sin los id me imagino que le debes hacer algo así...

Código:
        foreach $registro (@registros){
                $registro =~ s/\n//g;
                if ($registro ne $_[1]){
                        push (@new_registros,$registro);
                }
        }
Esto va en vez de lo otro, fíjate de cambiarlo y ahora pasarle en vez del id, el nombre del usuario.

Saludos
__________________
Esteban Quintana