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 :

problème de syntaxe system()


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 58
    Par défaut problème de syntaxe system()
    Bonjour

    je voudrais lancer à partir d'un script perl perl_pere.pl deux script via la commande system, le premier param.cmd est un fichier de paramètrage, le deuxième perl_fils.pl qui va utiliser les variables avec "set" (ex: set rep=D:\test) dans le script param.cmd

    on m'a expliqué que si je fais quelque chose de type

    perl_pere.pl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system 'param.cmd rojina ;  perl_fils.pl';
    perl_fils va hériter de toutes les variable définies dans param.cmd, seulement j'ai oublié la syntaxe correcte

    quelqu'un peut m'aider??
    c'est vraiment très urgent

    merci d'avance

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # Lancer le script param.cmd
    system("param.cmd rojina");
    # Lancer le script perl_fils.pl
    system ("perl perl_fils.pl");

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 58
    Par défaut
    Merci pour la reponse

    j'ai déjà penser à les séparer comme ceci mais j'ai eu un autre problème
    je m'explique par un exemple

    param.cmd
    perl_fils.pl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print "\n ENV{\"rep\"}";
    quand je lance le perl_pere.pl avec les deux command system séparés, les script (.cmd et .pl) s'execute correctement mais mon print n'affiche rien, (la variable rep est vide) puisque perl considere que les deux script param.cmd et perl_fils.pl sont des sous programmes est aucun n'herite de l'autre

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    bon déjà que font tes scripts, car je ne vois pas l'intérêt du premier. pourquoi tous ces appels system. Tout est faisable en perl en un seul script.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Pour le print, c'est $ENV et non pas ENV et autant enlever les guillemets qui ne servent à rien dans ce contexte:

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 58
    Par défaut
    je viens de résoudre le problème

    merci pour votre aide

    il fallait utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("param.cmd rojina && perl_fils.pl);
    à très bientot

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 58
    Par défaut
    Bonjour

    comme déjà signalé, j'ai trouvé la bonne syntaxe, mais visiblement ça ne marche que sur windows. je voudrais que mon script soit portable entre windows et unix

    j'ai essayer
    . param.ksh rojina && perl_fils.pl
    en ligne de commande cela marche très bien mais quand j'essaye de le faire via un .pl comme dans mon dernier message ça ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system(". param.ksh rojina && perl_fils.pl");
    ne marche pas, il reconnais pas ".", donc j'ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("param.ksh rojina && perl_fils.pl");
    mais toujours le meme problème. Les deux script .ksh et .pl s'execute correctement mais le .pl ne récupere pas les variable déclarées dans le .ksh

    quelqu'un à une idée?
    merci

Discussions similaires

  1. Problème de syntaxe - elements['x'].value
    Par Equus dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/02/2005, 12h22
  2. [Interbase] Problème de syntaxe SQL
    Par navis84 dans le forum InterBase
    Réponses: 4
    Dernier message: 22/12/2004, 18h07
  3. Problème de syntaxe
    Par Mister_FX dans le forum ASP
    Réponses: 5
    Dernier message: 30/06/2004, 11h01
  4. Problème de syntaxe ADO ...
    Par bendev dans le forum ASP
    Réponses: 2
    Dernier message: 15/04/2004, 15h38
  5. Réponses: 2
    Dernier message: 08/03/2004, 16h10

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