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";Configuration: Windows XP Firefox 2.0.0.14
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 -
dans cette partie là tu peux ajouter un compteur qui s'incrémente après chaque suppression
-
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) ; -
ok si ça marche je pense que tu peux marquer la discussion comme résolue.