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 associatif et filehandle


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Par défaut tableau associatif et filehandle
    Bonsoir,

    J'aimerais écrire dans un fichier. Je pense utiliser "print FILEHANDLE LIST".
    Contrainte supplémentaire, c'est mon script qui va déterminer dans quel fichier il faut écrire :
    si une fonction (inutile de savoir laquelle) retourne "35", il faut écrire dans le fichier "35.html". Sinon, il faut écrire dans "36.html".
    J'ai pensé utiliser un tableau associatif pour récupérer le filehandle du bon fichier : ("35" => $fh_file_35, "36" => $fh_file_36);

    Voici un code minimal, la dernière ligne ne fonctionne pas alors que l'avant dernière ligne marche. Sauriez-vous pourquoi ?
    Merci.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    use strict;
    use warnings;
     
    my $name_folder_save = "save-prog-journee";
    my $file_35 = "$name_folder_save/35.html";
    my $file_36 = "$name_folder_save/36.html";
     
    open(my $fh_file_36, '>>', $file_36)
             or die "cannot open >> $file_36: $!";
    open(my $fh_file_35, '>>', $file_35)
             or die "cannot open >> $file_35: $!";
     
     
    my %assoc_group_to_fh = ("35" => $fh_file_35, "36" => $fh_file_36);
     
    # pour tester :
    print $fh_file_35;      # GLOB(0x544048)
    print "\n"; 
    print $assoc_group_to_fh{"35"};   # GLOB(0x544048)
     
     
    print $fh_file_35 "chaîne à ajouter" ; # ceci fonctionne 
    #print $assoc_group_to_fh{"35"} "chaîne à ajouter" ;

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    essaie de remplacer la dernière ligne de ton programme par la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print {$assoc_group_to_fh{"35"}} "chaîne à ajouter" ;

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Par défaut
    Merci beaucoup, cela fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. loop sur tableau associatif
    Par Plawi dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/02/2005, 11h29
  2. tableau associatif en asp ?
    Par bigsister dans le forum ASP
    Réponses: 5
    Dernier message: 26/01/2005, 16h47
  3. asp tableau associatif
    Par rfernandez dans le forum ASP
    Réponses: 6
    Dernier message: 19/12/2003, 18h58
  4. [langage] TRI TABLEAU ASSOCIATIF
    Par proner dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2003, 16h38
  5. [langage] Réinitialiser un tableau associatif.
    Par totox17 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2003, 16h29

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