Perl : vider un hashes de hashes

Marianne -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

quelqu'un sait-il comment vider un hashes de hashes en perl ?

Merci à tous !!

Marianne

2 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Bonjour,

    Il faut plutôt utiliser la fonction : delete
    delete($HACH{$PLOP});


    undef c'est une valeur spéciale que les variables possedent avant la prémière affectation. Si on utilise undef comme quelque chose numérique alors il vaut 0 et si on veut l'utiliser comme une chaîne il vaut une chaine vide.

    Cependant undef n'est ni un nombre, ni une chaine, c'est plutôt un type de valeur scalaire indépendant.

    Petit exemple:
    #! /usr/bin/perl -w
    
    %famille = (
              pere  => "jean",
              mere => "marie",
              fils   => "george",
              fille  =>  "sarah"
                    );
    
    sub affiche {
          my @ma_famille = keys %famille;
          my $membre;
    
         print "Clefs   : @ma_famille\n";
         print "Valeurs : ";
    
        foreach $membre (@ma_famille) {
            my $prenom = $famille{$membre};
    
           if (defined $prenom) {
             print "$prenom ";
           } else {
              print "UNDEF ";
           }
        }
       print "\n";
    }
    
    print "Debut :\n";
    affiche();
    
    # on utilise undef, la clé fils n'est pas effacée, elle contient la valeur undef
    print "\nfils pas définie :\n";
    undef $famille{"fils"};
    affiche();
    
    # on utilise delete la clé fils et sa valeur sont effacé
    print "\nfils effacé :\n";
    delete $famille{"fils"};
    affiche();


    ------------------résultat----------------------------------------
    Debut :
    Clefs   : fille mere pere fils
    Valeurs : sarah marie jean george
    
    fils pas définie :
    Clefs   : fille mere pere fils
    Valeurs : sarah marie jean UNDEF
    
    fils effacé :
    Clefs   : fille mere pere
    Valeurs : sarah marie jean


    En suite il faut adapter pour les hachage de hachage
    1
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 942
     
    $hash{$plop}=undef;
    Non ?
    0