Comptabiliser et suppresion doublon
Résolu
filipe91
-
ltstam Messages postés 398 Statut Membre -
ltstam Messages postés 398 Statut Membre -
Bonjour,
Je débute en perl et je dois comptabiliser les doubons et les supprimer d'un fichier passé en paramètre. Mon code supprime les doublons mais ne les comptabilise pas, avez-vous une idée ? Je pense qu'il ne manque pas grand chose, mais je rame...
Merci d'avance
Je débute en perl et je dois comptabiliser les doubons et les supprimer d'un fichier passé en paramètre. Mon code supprime les doublons mais ne les comptabilise pas, avez-vous une idée ? Je pense qu'il ne manque pas grand chose, mais je rame...
Merci d'avance
#!/usr/bin/perl -w
my @table ;
my @tmp ;
open ( FICHIER,"$ARGV[0]" ) or die "erreur sur $ARGV[0]" ;
my $i=0 ;
while ( <FICHIER> ) {
my $ligne=$_ ;
chomp $ligne ;
$table[$i]=$ligne ;
$i++ ;
}
close( FICHIER ) ;
# Suppression des doublons
my %hachage = map { $_, 1 } @table;
my @unique = keys %hachage;
# Affichage du tableau sans doublon
print join("\n", @unique), "\n";
A voir également:
- Comptabiliser et suppresion doublon
- Doublon photo - Guide
- Supprimer doublon excel - Guide
- Logiciel doublon photo gratuit - Télécharger - Nettoyage
- Supprimer doublon word ✓ - Forum Word
- Logiciel pour doublon musique gratuit - Télécharger - Nettoyage
4 réponses
salut,
je ne m'y connais pas en perl.Mais, je crois pouvoir te donner des indications.indiques moi dans quelle section du programme est ce que tu répères les doublons.
A cet endroit là tu peux ajouter un compteur de doublons
je ne m'y connais pas en perl.Mais, je crois pouvoir te donner des indications.indiques moi dans quelle section du programme est ce que tu répères les doublons.
A cet endroit là tu peux ajouter un compteur de doublons
La réponse ci-dessous :
#!/usr/bin/perl -w
my @table ;
my @tmp ;
open ( FICHIER,"$ARGV[0]" ) or die "erreur sur $ARGV[0]" ;
my $i=0 ;
while ( <FICHIER> ) {
my $ligne=$_ ;
chomp $ligne ;
$table[$i]=$ligne ;
$i++ ;
}
close( FICHIER ) ;
# Compte et supprime les doublons
my %ips;
foreach my $ip (@table){
$ips{$ip}++;
}
print join ("\n", %ips) ;
my %hachage = map { $_, 1 } @table;
my @unique = keys %hachage;
Dans une version antérieure, j'avais écris en perl une fonction qui compte, mais elle n'utilisais pas les hash, et prend bcp de temps à l'execution...