Enlever les doublons dans un tableau de chaine de caractères
Bonjour à tous ,
J'ai un fichier dont chaque ligne contient un mot, j'ai récupéré le contenu de ce fichier dans un tableau et j'ai essayé de supprimer les doublons , j'ai essayé ce code mais toujours il y a des problèmes
voilà le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| @Ti = <F>;
my @unique = ();
my %dejavu = ();
foreach my $elem ( @Ti )
{
chomp(@Ti);
next if $dejavu{ $elem }++;
push @unique, $elem;
}
foreach my $val ( @unique ) {
print FIC "$val\n";
} |
Merci de m'aider je serai très reconnaissante :)
Supprimer les doublons dans un tableau des chaines
J'ai essayé les deux solutions mais aucune n'est valide...
supprimer les doublons dans un tableau de chaine
j'ai essayé ce code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
@Ti = <F>;
use List::MoreUtils qw(uniq);
my @unique= uniq @Ti;
#my @unique = ();
my %dejavu = ();
chomp(@Ti);
foreach my $elem ( @Ti )
{
chomp(@Ti);
next if $dejavu{ $elem }++;
push @unique, $elem;
}
foreach my $val ( @unique ) {
print FIC "$val\n";
} |
Suppression des doublons dans un tableau
Mon fichier F contient les lignes suivantes :
أي
تفضل
خويا
مع
وقتاش
بلله
إي
إي
تفضل
تفضل
تفضل
أي
أي
voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
open(F,'E:\\Mastère_2013\\Script\\IN.txt') or die ("Erreur d'ouverture ") ;
open(FIC,'>E:\\Mastère_2013\\Script\\OUT.txt') or die ("Erreur de creation ") ;
@Ti = <F>;
my @unique = ();
my %dejavu = ();
chomp(@Ti);
foreach my $elem ( @Ti )
{
chomp($elem );
next if $dejavu{ $elem }++;
push @unique, $elem;
}
foreach my $val ( @unique )
{
print FIC "$val\n";
print "$val\n";
} |
et le résultat est le suivant :
أي
تفضل
خويا
مع
وقتاش
بلله
إي
أي