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 :

[langage] probleme @ARGV


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [langage] probleme @ARGV
    pourrait on m'expliquer pourqoui ce qui suit ne fonctionne pas comme je le souhaite.

    programme essai2.pl:

    #!c:\cygwin\bin\perl5.8.0

    use strict;

    print(" argument : $ARGV[0] \n");
    print(" apres \n");

    ligne de commande:
    essai2.pl toto

    resultat:
    argument :
    apres

    resultat que j'attendais :
    argument : toto
    apres

    je pense que $ARGV est bien reconnu mais qu'il est vide.

    merci d'avance[/u]

  2. #2
    Membre habitué
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Points : 187
    Points
    187
    Par défaut
    le code devrait fonctionner [chez moi il fonctionne, j'ai un cygwin aussi]... il y a quelque chose qui cloche dans la manière dont tu lances ton programme...

    je te conseille :
    1- lances cygwin
    2- change

    #!c:\cygwin\bin\perl5.8.0
    par
    #!/usr/bin/perl
    3- lance ./essai2.pl toto dans le répertoire de essai2.pl (celui dont nous parlons)
    -- plus les choses changent...
    plus elles restent les mêmes
    --snake plissken
    pb résolus +20

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut

    merci!

    selon tes recommandations,j'ai changé la premiere ligne en :
    #!/usr/bin/perl

    ensuite pour lancer le programme:
    sous cygwin , dans le repertoire du programme à lancer :
    ./essai.pl argumentation
    comme tu l'as indiqué ça fonctionne nickel

    par contre sous command prompt dos , dans le repertoire du programme à lancer il faut donner le chemin de l'executable perl :
    c:\cygwin\bin\perl essai.pl argumentation
    et là ça marche

    donc encore une petite question.
    quand on lance sous dos
    essai.pl argumentation
    le programme s'execute bien mais sans 'voir' l'argumentation,selon moi cela indique que le system sais où aller chercher l'executable perl.

    alors pourquoi faut t'il lui indiquer le chemin pour qu'il 'voit' l'argumentation.

    si quelqu'un a la reponse , merci pour ma petite culture .

  4. #4
    Membre habitué
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Points : 187
    Points
    187
    Par défaut
    je n'ai pas envie d'entrer dans les détails là... mais, pour que cela fonctionne correctement sous windows sans utiliser le 'cygwin', il faut :
    - créer les bonnes associations entre extension .perl ou .pl et perl.exe dans l'explorateur windows (types de fichiers)
    - mettre dans le PATH de l'utilisateur le chemin vers l'exécutable perl
    - mettre dans le script perl le bon chemin vers l'exécutable perl

    j'ai l'impression que ton problème via DOS vient du DOS, quelle version de windows utilises-tu :
    -- plus les choses changent...
    plus elles restent les mêmes
    --snake plissken
    pb résolus +20

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    windows 2000
    5.00.2195
    service pack 3

  6. #6
    Membre habitué
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Points : 187
    Points
    187
    Par défaut
    donc ça devrait fonctionner

    - dans un explorateur windows tu fais Affichage -> Options (ou Outils -> Options, je sais pas pour win2k)

    - onglet "type de fichiers"

    - tu cherches le type perl (procédure perl5 chez moi...)

    - tu le sélectionnes puis 'modifier'

    - dans Actions tu choisis 'open' puis 'modifier'

    - la ligne de commande devrait ressembler à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\...\bin\perl.exe "%1" %*
    dans ton cas, il ne doit y avoir que le %1 et les arguments suivants ne sont pas interprétés
    -- plus les choses changent...
    plus elles restent les mêmes
    --snake plissken
    pb résolus +20

  7. #7
    Futur Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    merci pour tous ces renseignements!!!

  8. #8
    Membre habitué
    Inscrit en
    Août 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 156
    Points : 187
    Points
    187
    Par défaut
    de rien

    pense au tag 'résolu' si ton problème est résolu
    -- plus les choses changent...
    plus elles restent les mêmes
    --snake plissken
    pb résolus +20

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

Discussions similaires

  1. [langage] probleme avec un hash de hash
    Par planetevoyage dans le forum Langage
    Réponses: 4
    Dernier message: 06/06/2003, 12h55
  2. [langage] script ARGV[0] ?
    Par kacedda dans le forum Langage
    Réponses: 2
    Dernier message: 02/05/2003, 12h10
  3. Réponses: 3
    Dernier message: 07/04/2003, 20h06
  4. Réponses: 6
    Dernier message: 04/04/2003, 15h28
  5. [langage]Problème de temps de lecture, optimisation
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2003, 08h47

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