Bonjour,
dans un fichier du type :
aaa
bbbbb
ccccc
aaa
aaaa
il s'agit d'enlever les doublons.
Il faudrait à priori (?) passer par une table de hachage.
J'ai essayé :
#--> ne marche pas non plus !
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
33
34
35
36
37
38
39
40 open(FILE,"$path/toto"); while(<FILE>) { push @TdT, [ split('\n', $_) ]; } my %hachage = @TdT; my @uniques = keys %hachage; # affiche le tableau de hachage hachage foreach my $k (@uniques) { print "Clef=$k Valeur=$hachage{$k}\n"; print "Valeurxx=$TdT[$hachage{$k}]\n"; } # ---> ne donne pas les valeurs foreach my $t (@TdT) { next if $deja_vu{$t}++; push(@uniques,$t); } # --> ceci ne marche pas non plus ! # affiche le tableau uniques for $aref ( @uniques ) { print "@$aref\n"; } # j'obtiens les mêmes données que fichier toto avec les doublons ! et !!!! for $i ( 0 .. $#TdT ) { $objet = $TdT[$i][0]; print "elt $i is $objet \n"; print DOUBLONS @uniques ; print DOUBLONS "\n" ; }
Je pense qu'il y a plus simple !
Merci pour vos lumières.
Partager