Bonsoir,

Je vous expose mon problème:

Je veux consulter deux fichiers en même temps, c'est-à-dire chercher une information sur deux fichiers simultanément, voici un exemple:

Fichier1:

16/11/08;nom1
16/11/08;nom2
16/11/08;nom3
16/11/08;nom4
16/11/08;nom5

Fichier2:

16/11/08;nom1
16/11/08;nom1
16/11/08;nom1
16/11/08;nom2
16/11/08;nom3

Je veux calculer le nombre de fois qu'une même information qui se trouve dans le fichier1 se répète dans le fichier2, avec l'exemple c'est plus clair, lol :

Voici le résultat recherché :

Output:

16/11/08;nom1;3
16/11/08;nom2;1
16/11/08;nom3;1
16/11/08;nom4;0
16/11/08;nom5;0

Ci-dessous mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
#!/usr/bin/perl   
{  
open(IN,"<Fichier1.csv");
open(IN1,"<Fichier2.csv");
open(OUT,">>Output.csv");
 
while(<IN>)
{
@ligne=split(/;/,$_);
$var=$ligne[1];
$i=0;
while(<IN1>)
{
@ligne1=split(/;/,$_);
$var1=$ligne1[1];
if ($var eq $var1)
{
$i=$i+1;
}
}
$output=$ligne[0].";".$ligne[1].";".$i;
print OUT ("$var\n");
}
close IN;
close IN1;
close OUT;
}
Le résultat n'est pas celui escompté, je crois que le problème réside dans le fait que j'ai utilisé deux fois "$_", du coup le programme ne s'est plus sur quel fichier travailler ?! Je ne vois pas comment lire des lignes de deux fichiers différents simultanément.

Toute proposition est la bienvenue .

Salutations.