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 :

probleme script perl sous windows


Sujet :

Langage Perl

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut probleme script perl sous windows
    Bonjour, j'ai la commande suivante dans mon script perl

    open(IN, "echo \"SELECT MAX_M GO\" | mql -u root -d cameleon -h tango -p cam2008 -b mysql |");

    cette commande me renvoie normalement son résultat lors d'une execution sous linux mais pas sous windows

    j'explique quand même le principe de ma commande. j' utilise un logiciel libre qui s'appelle Emdros. ce logiciel est couplée à un serveur MySQL. Emdros prend des requête ( select max_m ) qu'il transforme en ordre sql adéquat. il renvoie alors le résultat. Mon problème veint juste du fait que sous windows, cette ligne de mon script perl est comme inactive.

    quelqu'un aurait t'il une idée pour me sortir de cette impasse ???

    merci d'avance .

  2. #2
    Membre actif Avatar de CKLN00
    Homme Profil pro
    Bioinformaticien Java/Perl
    Inscrit en
    Avril 2008
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Bioinformaticien Java/Perl
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 210
    Points : 263
    Points
    263
    Par défaut
    apparament echo sous win ne reconnais pas les " ni les ' comme signifiant début ou fin de chaine à afficher donc essaye en virant tes \"
    (tu as essayer de lancer la commande tel quel dans une fenêtre dos pour voir ?)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    la commande

    echo SELECT MAX_M GO | mql -u root -d cameleon -h tango -p cam2008 -b mysql

    sous windows fonctionne.

    par contre englober dans un script perl ben ca marche plus.

    j'ai aussi essayer de rajouter une clausse die à ma commande.

    open(IN, "echo SELECT MAX_M GO | mql -u root -d cameleon -h tango -p cam2008 -b mysql |")|| die ("ca marche pas !!!") ;

    elle est inevitablement executer sous windows.

    la je séche ...

  4. #4
    Membre actif Avatar de CKLN00
    Homme Profil pro
    Bioinformaticien Java/Perl
    Inscrit en
    Avril 2008
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Bioinformaticien Java/Perl
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 210
    Points : 263
    Points
    263
    Par défaut
    la je sais pas trop quoi te dire si ce n'est que n'étant pas à l'aise avec les commande système rediriger par open moi j'aurais plutôt fait la commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @rez = `echo SELECT MAX_M GO | mql -u root -d cameleon -h tango -p cam2008 -b mysql`;
    ou même

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    systeme('echo SELECT MAX_M GO | mql -u root -d cameleon -h tango -p cam2008 -b mysql > file.temporaire') ;
     
    open(my $filetmp,'<','file.temporaire') or die('suis mort') ;

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    ca se test. je vais voir ca de suite.
    et effectivement je crains que la commande open, de la façon dont je l'utilise soit specifique a linux. en effet, si bien sur d'autre personne peut confirmer, sous unix la sortie standard, la sortie d'erreur et l'entrée standard sont consideré comme des fichiers. chose qui n'est peut être pas similaire sous windows ...

    en tout cas jessaie ca et je vous tiens au courant.

Discussions similaires

  1. probleme perl sous windows
    Par cj_prog dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2011, 13h51
  2. Réponses: 37
    Dernier message: 10/09/2008, 15h16
  3. probleme d'install de perl sous windows
    Par Melvine dans le forum Modules
    Réponses: 13
    Dernier message: 06/09/2006, 11h28
  4. [langage]parcours fichier txt en perl sous windows
    Par stef74 dans le forum Langage
    Réponses: 12
    Dernier message: 23/06/2005, 16h39
  5. Probleme de démarrage sous windows 98
    Par Le Pharaon dans le forum Windows 2000/Me/98/95
    Réponses: 14
    Dernier message: 03/05/2005, 14h05

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