2
0
Fork 0
Verif_Herezh/Batterie/FONCTION_UNIQUE/TYPE_CHARGEMENT/VOLUMIQUE/Test_R_chargement_VOLUMIQUE_3D/chargement_VOLUMIQUE_3D.pretrait2

67 lines
1.9 KiB
Perl
Executable file

#!/usr/bin/env perl
use strict;
use warnings;
use English;
use File::Basename;
use Cwd;
my $NOM_PROG = basename $PROGRAM_NAME;
#
#
# les buts de ce script sont :
# 1- activer l option "ATTRIBUT_ sur_volume_initial_" pour le chargement "VOLUMIQUE"
# 2- supprimer le fichier .PI du calcul precedent .CVisu1 afin d empecher un RESTART lors du calcul .CVisu2
# (car le but du calcul .CVisu2 est de faire un nouveau calcul avec l option "ATTRIBUT_ sur_volume_initial_")
#
#chemin absolu vers l executable Herezh
my $hzchemin = shift(@ARGV);
#nom du fichier .info
my $finfo = shift(@ARGV);
#forcer a vider le buffer (autoflush)
$| = 1;
#changement de parametre sur le chargement VOLUMIQUE
# => on active l option "ATTRIBUT_ sur_volume_initial_"
print "(prog:$NOM_PROG) activation \"ATTRIBUT_ sur_volume_initial_\"\n";
my $changement_option_ok = 0;
open(FIC, "<$finfo");
open(FIC2, ">$finfo.tmp");
while(<FIC>) {
if(/\#ATTRIBUT_/) {
s/\#ATTRIBUT_/ATTRIBUT_/;
$changement_option_ok = 1;
}
print FIC2;
}
close(FIC2);
close(FIC);
system("mv -f $finfo.tmp $finfo");
#suppression du .PI pour empecher un RESTART lors du calcul .CVisu2
my $suppression_PI_ok = 0;
(my $fPI = $finfo) =~ s/.info$/.PI/;
system("rm -f $fPI");
$suppression_PI_ok = 1 if(not (-e $fPI));
#reussite du script
if($changement_option_ok and $suppression_PI_ok) {
print "resultat pretrait : OK\n";
}
elsif(not $changement_option_ok) {
print "resultat pretrait : ECHEC l activation de l option \"ATTRIBUT_ sur_volume_initial_\" a echoue dans le fichier $finfo...\n";
die "\nErreur (prog:$NOM_PROG) : l activation de l option \"ATTRIBUT_ sur_volume_initial_\" a echoue dans le fichier $finfo...\n\n";
}
elsif(not $suppression_PI_ok) {
print "resultat pretrait : ECHEC la suppression du fichier .PI du calcul precedent a echoue...\n";
die "\nErreur (prog:$NOM_PROG) : la suppression du fichier .PI du calcul precedent a echoue...\n\n";
}