1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#! /usr/bin/perl -w
print "Entrez un nom de fichier\n";
$nom_fichier = <STDIN>;
chomp $nom_fichier;
@ARGV = ($nom_fichier);
unless (open (FICHIER,$nom_fichier))
{
print "le fichier $nom_fichier ne peut pas être ouvert\n";
exit;
}
while ($fichier=<>)
{
@fichier_tmp = split (/\t/,$fichier);
push @fichier, [ @fichier_tmp ];
}
# nombre de lignes
$ligne = scalar(@fichier);
# estimation du nombre de colonnes basée uniquement sur la 1° ligne
$colonne = scalar(@{ $fichier[0]} );
print "$ligne\n";
print "$colonne\n";
$nb_cdt = 0;
$somme_CT = 0;
$i = 0;
$j = 0;
#La ligne 0 étant un en-tête je n'en tient pas compte
for ($i=1;$i<=$ligne;$i++)
{
#Je stocke le contenu de différentes cases et j'incrémente le nbre de cdtion
$cdt_1 = $fichier[$i][2];
$somme_CT = $fichier[$i][6];
$nb_cdt = $nb_cdt + 1;
#cette 2ième boucle sert à comparer la ligne précédente avec toutes les lignes qui suivent
for ($j=$i+1;$j<=$ligne;$j++)
{
$cdt_2 = $fichier[$j][2];
if ($cdt_2 eq $cdt_1)
{
$nb_cdt = $nb_cdt + 1;
#L'erreur se trouve ici
$somme_CT = $somme_CT + $fichier[$j][6];
}
}
}
close FICHIER;
exit; |
Partager