Comptabiliser et suppresion doublon

Résolu
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

#!/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

  1. ok si ça marche je pense que tu peux marquer la discussion comme résolue.
    0
    1. 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) ;
      
      0
      1. dans cette partie là tu peux ajouter un compteur qui s'incrémente après chaque suppression
        0
        1. 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
          0
          1. En fait c'est cette partie là qui supprime les doublons :
            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...
            0