############ Dans mon script perl, j'ai un truc du genre: ########### my $tefflow = 7000; my $teffup = 6750; my $loggup = '4.5'; my $logglow = '4.0'; my $zlow = '-2.00'; my $zup = '-1.50'; my $newz = '-2.0'; my $newteff = 6800; my $newg = '4.5'; my $geometry = 'p'; my %data = ( tefflow => $tefflow, teffup => $teffup, loggup=> $loggup, logglow => $logglow, zup => $zup, zlow => $zlow, newz => $newz, newteff => $newteff, newg =>$newg, geometry => $geometry, ); my $text; my $is_ok = $template->process( 'Interpol.tpl', \%data, \$text ) || croak( "Template failed: \n", $template->error, "\n" ); my $nom_fichier = 'test.dat'; my $script = new IO::File("$nom_fichier", O_WRONLY|O_TRUNC|O_CREAT, 0777); print $script $text; ###################### Et dans mon fichier Interpol.tpl, j'ai : ###################### #MARCS binary format (.true.) or MARCS ASCII web format (.false.)? set marcs_binary = '.false.' #set marcs_binary = '.true.' set model1 = [%geometry%][%tefflow%]_g+[%logglow%]_m0.0_t02_st_z[%zlow%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model2 = [%geometry%][%tefflow%]_g+[%logglow%]_m0.0_t02_st_z[%zup%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model3 = [%geometry%][%tefflow%]_g+[%loggup%]_m0.0_t02_st_z[%zlow%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model4 = [%geometry%][%tefflow%]_g+[%loggup%]_m0.0_t02_st_z[%zup%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model5 = [%geometry%][%teffup%]_g+[%logglow%]_m0.0_t02_st_z[%zlow%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model6 = [%geometry%][%teffup%]_g+[%logglow%]_m0.0_t02_st_z[%zup%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model7 = [%geometry%][%teffup%]_g+[%loggup%]_m0.0_t02_st_z[%zlow%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model8 = [%geometry%][%teffup%]_g+[%loggup%]_m0.0_t02_st_z[%zup%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod #enter here the values requested for the interpolated model foreach Tref ( [%newteff%]) foreach loggref ([%newg%] ) foreach zref ([%newz%]) set modele_out = Testout/T${Tref}g${loggref}z${zref}.interpol echo $modele_out set modele_out2 = Testout/${Tref}g${loggref}z${zref}.alt echo $modele_out2 ################# Et mon fichier de sortie, c'est : ################ set model1 = p7000_g+4.0_m0.0_t02_st_z-2.00_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model2 = p7000_g+4.0_m0.0_t02_st_z-1.50_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model3 = p7000_g+4.5_m0.0_t02_st_z-2.00_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model4 = p7000_g+4.5_m0.0_t02_st_z-1.50_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model5 = p6750_g+4.0_m0.0_t02_st_z-2.00_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model6 = p6750_g+4.0_m0.0_t02_st_z-1.50_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model7 = p6750_g+4.5_m0.0_t02_st_z-2.00_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod set model8 = p6750_g+4.5_m0.0_t02_st_z-1.50_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod #enter here the values requested for the interpolated model foreach Tref ( 6800) foreach loggref (4.5 ) foreach zref (-2.0) set modele_out = Testout/T${Tref}g${loggref}z${zref}.interpol echo $modele_out set modele_out2 = Testout/${Tref}g${loggref}z${zref}.alt echo $modele_out2