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 :

[tableau] variable dynamique


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Par défaut [tableau] variable dynamique
    Bonjour,

    J'ai une chaine de caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FR | ID_Nom | Nom | 9
    Je récupère chaque champs par un split :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @champ = split(/ | /,$_);
    Le tableau @champ contient 4 valeurs (0 à 3).
    Je souhaiterai définir une nouvelle variable se nommant $champ[1] et contenant $champ[2] et $champ[3].

    Comment faire ?

    Merci.

  2. #2
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Je ne vois pas vraiment ce que tu veux faire, en fait ?

    Tu veux remplacer le contenu de $champ[1] par $champ[2].$champ[3] ???

  3. #3
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 889
    Par défaut
    Citation Envoyé par 2Eurocents
    Je ne vois pas vraiment ce que tu veux faire, en fait ?

    Tu veux remplacer le contenu de $champ[1] par $champ[2].$champ[3] ???
    Ou peut être parle t'il de simples concaténations. Dans ce cas, consultes mes cours et la FAQ pour l'opérateur '.'.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 162
    Par défaut
    Non je souhaite définir un tableau mais le nom de ce tableau est déjà défini dans un autre tableau.
    Il faut juste récupérer le nom dans ce tableau.
    Je pense utiliser un tableau de hachage. Est-ce judicieux ou est-ce-qu'il y a un autre moyen ?

    Merci.

  5. #5
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut Re: [tableau] variable dynamique
    Citation Envoyé par Longrais
    Je souhaiterai définir une nouvelle variable se nommant $champ[1] et contenant $champ[2] et $champ[3].
    Ok, tu veux définir une variable dont le nom est contenu dans $champ[1] et la valeur dans $champ[2] et $champ[3] ...

    Les variables dynamiques ne sont, en général, pas une bonne idée. D'autant qu'elles empêchent l'utilisation du pragma 'strict' qui est souvent d'un grand secours.

    Dans ce cas, l'usage de tables de hachages est, par contre, tout à fait pertinent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my %variables;
    $variables{$champ[1]} = $champ[2].$champ[3];
    ... par exemple ...

    Ou, si tu veux mettre un tableau dans les $variables{*} :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    my %variables;
    $variables{$champ[1]} = [ $champ[2], $champ[3] ];
    print $variables{$champ[1]}->[0];

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/03/2008, 11h37
  2. Réponses: 2
    Dernier message: 03/11/2007, 11h24
  3. Masquer des items pour une variable d'un tableau croisé dynamique en VBA
    Par Pietro_L dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/10/2007, 16h35
  4. [Tableaux] Une variable dynamique de type tableau
    Par martin__ dans le forum Langage
    Réponses: 3
    Dernier message: 02/08/2007, 19h22
  5. Réponses: 2
    Dernier message: 10/12/2006, 09h57

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