Veréis quería crear un bucle dentro de otro con la función for que es la que controlo por ahora..
![Embarassed :oops:](http://perlenespanol.com/foro/images/smilies/icon_redface.gif)
Using perl Syntax Highlighting
# Programa genera sucesivos archivos de entrada para FAST.
# ______________________________________________________________________
# Cambiamos la altura de la torre en el archivo_parámetros.
for $i (72..74) {
for $j (-3..0) {
# Lugar donde almacenaremos el fichero leido y modificado
my @params;
# Abrimos el fichero en lectura
open (PARAMS, "<PARAMS.in") or die "No se pudo abrir PARAMS.in: $!";
# Para todas las lineas del fichero hacemos el cambio
for $line (<PARAMS>) {
if ($line =~ /^B/) {
$line =~ s/=.*\d+/= $j/ or die "No se pudo cambiar el pitch:$!";
} else {
("$line =~ s/TOWER_HT =.*\d+/TOWER_HT= $i/") == 0 or die "No se cambió la altura de la torre: $!";
}
push @params, $line;
}
close PARAMS;
# Grabamos el resultado
open (OVERWRITE, ">PARAMS.in") or die "No se pudo abrir PARAMS.in: $!";
print OVERWRITE @params or die "No se pudo sobreescribir PARAMS.in: $!";
close OVERWRITE;
# Corre el programa prepro y genera una entrada para FAST.
system ("c:\\perl\\bin\\perl prepro.pl PARAMS.in FAST.template H$i($j).in") == 0 or die "No se generó el input para FAST: $!";
}
}
# ______________________________________________________________________
# Cambiamos la altura de la torre en el archivo_parámetros.
for $i (72..74) {
for $j (-3..0) {
# Lugar donde almacenaremos el fichero leido y modificado
my @params;
# Abrimos el fichero en lectura
open (PARAMS, "<PARAMS.in") or die "No se pudo abrir PARAMS.in: $!";
# Para todas las lineas del fichero hacemos el cambio
for $line (<PARAMS>) {
if ($line =~ /^B/) {
$line =~ s/=.*\d+/= $j/ or die "No se pudo cambiar el pitch:$!";
} else {
("$line =~ s/TOWER_HT =.*\d+/TOWER_HT= $i/") == 0 or die "No se cambió la altura de la torre: $!";
}
push @params, $line;
}
close PARAMS;
# Grabamos el resultado
open (OVERWRITE, ">PARAMS.in") or die "No se pudo abrir PARAMS.in: $!";
print OVERWRITE @params or die "No se pudo sobreescribir PARAMS.in: $!";
close OVERWRITE;
# Corre el programa prepro y genera una entrada para FAST.
system ("c:\\perl\\bin\\perl prepro.pl PARAMS.in FAST.template H$i($j).in") == 0 or die "No se generó el input para FAST: $!";
}
}
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4