Foros del Web » Programación para mayores de 30 ;) » Programación General »

borrar una linea en .txt

Estas en el tema de borrar una linea en .txt en el foro de Programación General en Foros del Web. HOla. soy nuevo en perl y estoy haciendo un programa tipo cola en el cual me llegan en un prueba.txt la informacion una por una ...
  #1 (permalink)  
Antiguo 27/04/2004, 07:26
 
Fecha de Ingreso: febrero-2002
Mensajes: 100
Antigüedad: 22 años, 3 meses
Puntos: 0
borrar una linea en .txt

HOla. soy nuevo en perl y estoy haciendo un programa tipo cola
en el cual me llegan en un prueba.txt la informacion una por una

informacion 1
informacion 2
informacion 3
informacion 4

yo leo cada linea y la proceso, pero LO UNICO QUE ME FALTA ES BORRAR LA LINEA PROCESADA, eso implica que cuando mi rutina termina tiene que quedar totalmente vacio el archivo.txt

cómo hago eso?

GRACIAS
__________________
Reyj

Vida es una, disfrutala todos los días!
  #2 (permalink)  
Antiguo 27/04/2004, 07:33
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Tienes que cargar todo el archivo en una variable @array, donde cada linea del archivo sea un elemento del array, luego eliminas el último elemento con la función POP, de manera

OPEN...
@array = <...>;
pop(@array);
CLOSE...

Fíjate en http://perlenespanol.baboonsoftware.com/tutoriales/ que escribí dos tutoriales sobre como utilizar bases de datos tipo TXT

Espero que te sirva
__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 27/04/2004, 07:37
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
ah, me olvidaba...lo anterior es si lo procesas delde la última a la primera, si no lo puedes hacer con

shift(@array);
#te elimina el primer elemento

y si lo haces por algún orden de ID, puedes usar $array[4] = '';

Espero que te sirva
__________________
Esteban Quintana
  #4 (permalink)  
Antiguo 27/04/2004, 08:16
 
Fecha de Ingreso: febrero-2002
Mensajes: 100
Antigüedad: 22 años, 3 meses
Puntos: 0
Gracias por la ayuda, pero todavia no entiendo como usar bien la funcion.

open(DATOS,"+<ganadores.txt") || die "No pudo abrirse: $!";
while ($valores=<DATOS>)
{
chomp ($valores);
@parametros = split(/,/,$valores);
$celular=@parametros[1];
if ($celular!="")
{
$contador=$contador+1;
print "\n Celular # $contador: $celular \n";
$mensaje="Felicidades, usted gano";
print "Enviando a celular: $celular el mensaje $mensaje \n";
#sendSMS($celular,$mensaje);
shift(@parametros);
}


Como ves lo que entiendo es que al usar shift(@parametros); este deberia borrar la linea completa, es decir escribir en el archivo, cuestion que cuando termine de procesar este vacio!

Pero todavia no entiendo bien como hacerlo

Me puedes ayudar por favor

gracias
__________________
Reyj

Vida es una, disfrutala todos los días!
  #5 (permalink)  
Antiguo 27/04/2004, 09:21
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Ya te envié la respuesta por Mensaje Privado...si no te llega dime así te la mando por acá!!!

Suerte
__________________
Esteban Quintana
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:17.