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

Programmation et administration système Perl Discussion :

créer une variable externe


Sujet :

Programmation et administration système Perl

  1. #1
    Membre averti
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut créer une variable externe
    Re bonjour,
    je n'arrive pas à trouver ça, mais j'aimerais utiliser une variable qui est disponible dans un autre fichier :
    algo.pl utilise une variable (en fait un array/tableau) disponible dans configuration.pl.

    pouvez-vous m'aider?

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Par défaut
    quelle est le lien entre les 2 scripts?

    si depuis configuration.pl tu appelles algo.pl => passe la réference en paramètre
    si depuis algo.pl tu appelles configuration.pl => renvoie la variable en sortie du script

    si tu veux une réponse plus précise, soit le dans la question

  3. #3
    Membre averti
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut
    bon, mon configuration.pl contient un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    my @clients = ( ['site', 'site1', 'site2'],
                    ['evol', 'evol1', 'evol2', 'evol3']
    );
    et j'aimerais utiliser $clients dans mon algo.pl, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "@$_\n" for @clients;
    lorsque j'execute algo.pl, le résultat serait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    site site1 site2
    evol evol1 evol2 evol3

  4. #4
    Membre averti
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut
    est-ce plus précis?

  5. #5
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Salut,

    Dans ton fichier principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/usr/bin/perl
     
    use script_conf;
     
    printf $variable
    Dans ton fichier de configuration, nommé script_conf.pm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/usr/bin/perl
     
    package script_conf;
     
    use Exporter;
     
    our @ISA = 'Exporter';
    our @EXPORT = qw($variable);
     
    our $variable        = "toto";
    1;
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Par défaut
    pour pour voir t'aider:

    - quelle est le lien entre les 2 scripts? l'un appelle l'autre, 2 scripts indépendants...
    - ton @clients est écrit en dur dans "configuration.pl"? ou est rempli par le script?

  7. #7
    Membre averti
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut
    algo.pl restera le script, dont l'utilisateur n'aura pas besoin de toucher.
    configuration.pl sera un fichier en dur, l'utilisateur pourra effecter des modifs.

    algo.pl se sert de ce qui est dans configuration.pl pour effectué ce qu'il dooit faire

  8. #8
    Membre averti
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut
    Citation Envoyé par ggnore Voir le message
    Salut,

    Dans ton fichier principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/usr/bin/perl
     
    use script_conf;
     
    printf $variable
    Dans ton fichier de configuration, nommé script_conf.pm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/usr/bin/perl
     
    package script_conf;
     
    use Exporter;
     
    our @ISA = 'Exporter';
    our @EXPORT = qw($variable);
     
    our $variable        = "toto";
    1;
    je n'y arrive pas.
    configuration.pl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/usr/bin/perl
     
    package script_conf;
     
    use Exporter;
     
    our @ISA = 'Exporter';
    our @EXPORT = qw(@clients);
     
    our @clients = ( ['site', 'site1', 'site2'],
                    ['evol', 'evol1', 'evol2', 'evol3']
    );
    algo.pl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/usr/bin/perl
     
    use File::Copy;
    use strict;
    use warnings;
    use script_conf;
     
    print "@$_\n" for @clients;
    perl algo.pl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    perl algo.pl
    Can't locate script_conf.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at algo.pl line 6.
    BEGIN failed--compilation aborted at algo.pl line 6.

  9. #9
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Par défaut
    Citation Envoyé par ggnore
    Dans ton fichier de configuration, nommé script_conf.pm
    il faut parfois faire un peu plus que juste copier/coller les propositions proposées sur le forum

  10. #10
    Membre averti
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut
    et quels sont les differences entre .pm et .pl ?

  11. #11
    Membre averti
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut
    merci ggnore! ça marche nikel!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/09/2007, 16h43
  2. Créer une variable varchar interne à une procédure stockée
    Par killysui dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 26/04/2006, 17h59
  3. Réponses: 8
    Dernier message: 06/02/2006, 16h38
  4. [JDOM] Créer une variable xml directement dans java
    Par Tigrounette dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 18/12/2005, 14h21
  5. Réponses: 3
    Dernier message: 12/10/2005, 09h23

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