File "codage.pl"

Full Path: /home/analogde/www/XTRAIL/andre/PERL/codage.pl
File size: 3.51 KB
MIME-type: text/plain
Charset: 8 bit

#use strict;
#use warning;

$fichier = "PAT.csv";

my %min_PAT_HT = ();  # tableau associatif vide
my %max_PAT_HT = ();  
my %min_HT = ();
my %max_HT = ();
%test_name = ();

my %valeur = ();


traitement();


######################################
open (Handle, $fichier) || die ("Impossible d'ouvrir le fichier $fichier!");

while ($lignes = <Handle>)
{
($TEST,$PROPOSAL_MIN,$PROPOSAL_MAX,$ACTUAL_MIN,$ACTUAL_MAX,$TEST_NAME) = split( ',', $lignes);
$min_PAT_HT{$TEST} = $PROPOSAL_MIN;
$max_PAT_HT{$TEST} = $PROPOSAL_MAX;
$test_name{$TEST} = $TEST_NAME;
}
 
@liste_triee = sort( tri_numerique keys %min_PAT_HT); # nouveau tableau avec les clefs triees 

$nbre_test=@liste_triee;

print "Global: $nbre_test \n";

#retourne une liste (table) contenant les cls de la table de hash.

  @infos_cles = keys %hash;
  @infos_valeurs = values %hash;

for ($i=0; $i<@liste_triee; $i++)
{  
  $r1=$test_name{$liste_triee[$i]};
  $r2=$min_PAT_HT{$liste_triee[$i]};
  print " ------------>$i:$liste_triee[$i]: $r1 : $r2  \n";
}
######################################
sub tri_numerique
{
 if($a < $b)
  { return -1; }
 elsif($a == $b)
  { return 0; }
 else
  { return 1; }
}
######################################
close (Handle);



@lignes = ("");                                                        
open(HANDLE, "+<log.txt") || die "fichier non trouv\n";	# ouverture en lecture / criture
@lignes=<HANDLE>;
chomp($lignes=$lignes);

for ($i=0; $i<@lignes; $i++)
{  
  ($TEST,$PROPOSAL_MIN,$PROPOSAL_MAX,$ACTUAL_MIN,$ACTUAL_MAX,$TEST_NAME)=split(/\|/, $lignes[$i]);

$min_PAT_HT{$TEST} = $PROPOSAL_MIN;
$max_PAT_HT{$TEST} = $PROPOSAL_MAX;
$test_name{$TEST} = $TEST_NAME;

}




######################################

open (NEWFICH, ">test.txt");

$blanc="                         ";

#$len1 = length($datas[2]);
#print ("La longueur du spaceur : $len1");
#$len1 = length($datas[2]);
#print ("La longueur de la ligne est : $len1");

$un="essai";
$len2 = length($un);
$ch=substr($blanc,$len2+1);
$len3 = length($ch);
print ("La longueur du spaceur : $len3");
$res=$un.$ch;
$len3 = length($res);
print ("bilan : $len3 \n");
$datas[1]=$res;
$r=join('|', @datas);
print NEWFICH $r;

                           
$extract_unites=$datas[1];
$extract_unites =~ s/[.0-9]| //gi;	# supression des chiffres et du point
print "Units:$extract_unites\n";

                              


seek(HANDLE,100,1);
$contenu = <HANDLE>;
print ("Le contenu de la ligne est : $contenu");



######################################
sub traitement()
{

charge();
affiche();
action();



}
######################################
sub action()
{

$taille = keys(%valeur);

while (($cles, $contenu) = each(%valeur))
{
  	$r1=$test_name{$cles};
    
  
  print "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz $r1 \n";
}

@pipo = keys(%test_name); # Renvoie un tableau dans un ordre non prvisible 
print "HHHHHHHHHHHHHHHHH @pipo\n";
for ($i=0; $i<@pipo; $i++)
{  
  print ">>>>>>>>>>>>>>>>$pipo[$i]<<<<<<<<<<<<<<<<<<<<<<\n" 
}

while ($clef = each(%valeur)) 
{
  $qiqi=$test_name{$clef};
  #print "la cle $clef est associ avec: $qiqi\n";
}

}
######################################
sub affiche()
{
$taille = keys(%valeur);

while (($cles, $contenu) = each(%valeur))
{
  print "$cles correspond  $contenu\n";
}


} 
######################################
sub charge()
{
@lignes = ("");                                                        
open(F, "<data.txt") || die "fichier non trouv\n";

while ($lignes = <F>)
{
($TEST,$MIN) = split(' ', $lignes);
$valeur{$TEST} = $MIN;
}

close (F);
          
}
######################################