1
« en: Lunes 7 de Octubre de 2002, 11:08 »
Efectivamente, estaba usando use strict, lo he quitado y me sigue pasando lo mismo (si es que soy un novato!!!)
A ver si tu puedes:
#!/usr/bin/perl -w
use CGI;
my $q = new CGI;
my $rtr = $q->param ( "rtr" );
my $calle = $q->param ( "calle" );
my $mac = $q->param ( "mac" );
my $ip = $q->param ( "ip" );
print $q->header( "text/plain" );
# abres el fichero
open INPUT, "/home/oper/noc/fichero.txt");
# guardas todo el contenido del fichero en una variable
my @contenido = <INPUT>;
# cierras el fichero
close(INPUT);
# recorres los datos del fichero
foreach $linea (@contenido) {
chop($linea);
# se busca la lmnea que contiene el texto que nos interesa
if ($linea =~ /b$rtr/i)
{
push(@nuevosdatos, $linea . "n");
# Si se ha encontrado el texto, aqum aqadirmas las lmneas que quieres
insertar
push(@nuevosdatos, "}n");
push(@nuevosdatos, "# C/ $calle n");
push(@nuevosdatos, " host ALO_00{ n");
push(@nuevosdatos, " hardware ethernet $mac; n");
push(@nuevosdatos, " fixed_address $ip; n");
}
else {
# se deja la lmnea como estaba
push(@nuevosdatos, $linea . "n");
}
}
# Ahora vuelcas los nuevos datos en el fichero, borrando los datos que cont
enma anter
#iormente
open(OUTPUT, "+< fichero.txt");
foreach $linea (@nuevosdatos) {
print OUTPUT $linea;
}
close(OUTPUT);
Gracias de antemano, Avalon!!