Bonjour tlm,
Je veux fusionner trois fichiers FIC1, FIC2, FIC3 en un seul RES
avec FIC1 contient:
FIC2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Hello Bye
FIC3:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Hi By
Je veux obtenir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Hi Bonjour 0.23 Hi Salut 0.43 Hi Slt 0.42 By aurevoir 0.23 By bonsoir 2.3
J'obtiens pas le bon résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Hello Hi Hi Bonjour 0.23 Hello Hi Hi Salut 0.43 Hello Hi Hi Slt 0.42 Bye By By aurevoir 0.23 Bye By By bonsoir 2.3
voici 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
29
30
31
32 open FIC1,$bw or die "E/S : $!\n"; open FIC2,$sattsf or die "E/S : $!\n"; open FIC3,$wrd or die "E/S : $!\n"; open RES,">$res/unk/unk.pl.all" or die "E/S : $!\n"; my %hs; while(<FIC1>){ next unless /^\w/; /(.*)/; push @{$hs{$1}},$1; } while(<FIC2>){ next unless /^\w/; /(.*)/; push @{$hs{$1}},$1; } while(<FIC3>){ next unless /^\w/; /(.*)\s(.*)\s(.*)/; push @{$hs{$1}},($2,$3); } foreach my $k(sort keys %hs){ print "k = $k , rest @{$hs{$k}}\n"; print RES "$k", map { "$_" } @{$hs{$k}}, "\n"; } close RES; close FIC1; close FIC2; close FIC3;
Partager