IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

supression dans un tableau d'adresses


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Points : 12
    Points
    12
    Par défaut [Résolu] supression dans un tableau d'adresses
    Bonjour ,

    Voilà mon problème si quelqu'un peut m'aider à le resoudre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #je recupere une liste de serveur en interrogeant une base de donnes
    $serveur = $dbh->selectall_arrayref(....);
    #je recupère le nom par 
    foreach $host ( @$serveur ) { $host->{name} =~ s/\s.*$//;}
    Comment puis-je faire pour enlever du tableau d'adresses @$serveur les host
    qui ont un nom donnés ?
    Quelque soit la méthode, j'ai toujours une réference au host quand je reparcours la tableau @$serveur.

    Merci.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    A ce que je vois et si je comprend bien( çà c'est moins sûr ) , c'est normal que tu gardes une référence dans ton tableau : tu substitues le contenu de la variable $host->{name} en la remplaçant par une chaine vide, mais je ne vois pas ou tu indiques que tu veux detruire l'élément du tableau.

    J'essayerai quelque chose du style: vérifier par un test que l'on match la regexp (mais ne pas changer le contenu) et essayer de detruire l'élément s'il y a correspondance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if( $host->{name} =~ m/\s.*$/ )
    {
       delete  @serveur{$host} ;
    }
    mais je t'avoue je ne suis pas sûr de moi sur ce coup là. En attendant que quelqu'un de plus compétent vienne me corriger.

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Si je comprends bien, @$serveur contient des "hash" (structure) dont un attribut est le nom.
    Tu souhaites supprimer du tableau @$serveur les éléments dont le nom de host répond à une expression régulière (ou toute autre condition).

    Une manière de faire est d'utiliser grep :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @$serveur = grep $_->{nom} !~ /$host_a_supprimer/, @$serveur;
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Points : 12
    Points
    12
    Par défaut [Résolu]
    Ok, c'est super ca marche
    Je connaissais pas grep sous perl ....

Discussions similaires

  1. [Toutes versions] Trouver l'adresse d'une valeur dans un tableau
    Par accarien dans le forum Excel
    Réponses: 3
    Dernier message: 12/08/2015, 14h50
  2. récupérer dans un tableau IP[4] l adresse IP
    Par karistouf dans le forum Débuter
    Réponses: 6
    Dernier message: 12/09/2008, 18h56
  3. [HTML] Supression de colonnes dans un tableau html
    Par bassemeco dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 17/03/2008, 21h26
  4. Supression de doublon dans un tableau
    Par Blo0d4x3 dans le forum C
    Réponses: 4
    Dernier message: 18/05/2007, 01h47
  5. [8086] Valeur dans un tableau à partir de son adresse
    Par dridri dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 22/03/2006, 08h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo