• Publicidad

Sustituir el valor de una variable en un fichero

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Sustituir el valor de una variable en un fichero

Notapor Moraita » 2009-01-08 06:27 @310

Para abrir un fichero, buscar una variable, modificar su valor y por supuesto que se grabe el valor... parece que no hay manera.

He probado un montón de cosas.

Viendo en el foro una sugerencia de "explorer" ejecute en línea de comando:
Código: Seleccionar todo
perl -p -i -e 's/VARIABLE=1/VARIABLE=0/g' /directorio/fichero.txt


y funcionó perfectamente, el problema es que no sé trasladarla tal cual está al programa.

También probé el clásico:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $file = ">>/directorio/fichero.txt";
open (CONFIGFILE, $file) or return 0;
while (my $line = <CONFIGFILE>) {
     if ($line =~ /VARIABLE=1/) {
            s/VARIABLE=1/VARIABLE=0/g;}    
}
close CONFIGFILE;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Probé con todas las combinaciones:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $file = ">>/directorio/fichero.txt";
my $file = "/directorio/fichero.txt";
my $file = ">/directorio/fichero.txt";
# ...
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


En fin... ¡¡¡no sé qué hago mal!!!

Por cierto, buscando en el foro aquel mensaje donde vi la línea de comando arriba comentada me he vuelto loca y no la he vuelto a encontrar, ¿existe alguna facilidad que no haya visto para encontrar información en el foro de forma rápida?...

Gracias
Moraita
Perlero nuevo
Perlero nuevo
 
Mensajes: 36
Registrado: 2008-10-29 10:25 @475

Publicidad

Notapor explorer » 2009-01-08 07:48 @366

Lo normal sería:
* Leer todo el fichero de configuración
* Modificar la línea que nos interesa
* Escribir todo el nuevo fichero de configuración

Pero hay algo más cómodo: usar Tie::File, por ejemplo.

Mira en este hilo, que te dará todas las pistas: Modificar líneas de un archivo directamente.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Moraita » 2009-01-08 09:07 @422

De perlas :D
Moraita
Perlero nuevo
Perlero nuevo
 
Mensajes: 36
Registrado: 2008-10-29 10:25 @475


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado