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

reemplazar cadena en un arreglo... como ?

Estas en el tema de reemplazar cadena en un arreglo... como ? en el foro de Programación General en Foros del Web. hola a todos una ayudita con este problema por favor: Yo abro un archivo de tipo texto (archivo.txt) desde perl y lo muestro en pantalla ...
  #1 (permalink)  
Antiguo 19/06/2008, 15:40
 
Fecha de Ingreso: octubre-2007
Mensajes: 56
Antigüedad: 16 años, 6 meses
Puntos: 0
reemplazar cadena en un arreglo... como ?

hola a todos

una ayudita con este problema por favor:
Yo abro un archivo de tipo texto (archivo.txt) desde perl y lo muestro en pantalla de la siguiente manera:

$abrir="archivo.txt";
open(abrir);
@elementos=<abrir>;
close(abrir);
foreach(@elementos)
{
print($_);
}

Todo va muy bien hasta ahora...

Pero yo necesito que a la hora de escribir en pantalla, tomar a $_ y buscar las ocurrencias de la cadena XXXX y cambiarlas por YYYY, para cada linea del archivo.

Que no se cambie en el archivo, si no en la visualizacion de los datos en la pantalla, me dicen que se podria hacer por medio de expresiones regulares, quien me puede ayudar ?

Gracias por la colaboración
  #2 (permalink)  
Antiguo 19/06/2008, 15:44
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 18 años
Puntos: 11
Respuesta: reemplazar cadena en un arreglo... como ?

Código:
$abrir="archivo.txt";
open(abrir);
@elementos=<abrir>;
close(abrir);
foreach (@elementos) {
    ($linea = $_) =~ s/xxxx/yyyy/g;
    print $linea;
}
Es necesario el uso de una variable dentro del bucle ($linea) porque sino estaríamos modificando el contenido de @elementos. Si eso no nos importara, entonces podríamos dejarlo simplemente en
Código:
foreach (@elementos) {
    s/xxxx/yyyy/g;
    print;
}
  #3 (permalink)  
Antiguo 19/06/2008, 15:50
 
Fecha de Ingreso: octubre-2007
Mensajes: 56
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: reemplazar cadena en un arreglo... como ?

no me canso de agradecerte lo mucho que me has ayudado

exitos...

Voy a probarlo...
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:48.