Bonjour,
dans un fichier du type :
aaa
bbbbb
ccccc
aa
aaaa
il s'agit d'enlever les doublons.
Il faudrait à priori (?) passer par une table de hachage.
J'ai essayé :
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" ;
}
#--> ne marche pas non plus !
Je pense qu'il y a plus simple !
Merci pour vos lumières.
Configuration: Windows XP
Firefox 2.0.0.1