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 :

Option en ligne de commande


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 56
    Par défaut Option en ligne de commande
    Bonjour, j'ai un programme en perl s'appellant main.perl et je met en option en ligne de commande le fichier coordonnees.traj comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl main.perl --file coordonnees.traj
    Le fichier main.perl et coordonnes.traj étant dans le même répertoire mon programme fonctionne parfaitement.

    Cependant ma question est :
    Si mon fichier main.perl est maintenant dans le répertoire C:/perl/Main et que mon fichier coordonnes.traj se trouve dans le répertoire C:/perl/Main/Traj , comment faut t'il spécifié le chemin de mon fichier lors de la compilation ?

    Cordialement

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Selon le répertoire depuis lequel tu lances ta commande, il faudra :
    - spécifier le chemin du script si tu te trouves dans le répertoire du fichier de donnée
    - spécifier le chemin du fichier de donnée si tu te trouves dans le répertoire du script
    - spécifier les deux chemins si tu te trouves dans aucun des deux.

    Les trois exemples :
    Code Cmd : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    c:\perl\main> perl main.perl --file traj\coordonnees.traj
    c:\perl\main\traj> perl ..\main.perl --file coordonnees.traj
    c:\> perl c:\perl\main\main.perl --file c:\perl\main\traj\coordonnees.traj

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 56
    Par défaut
    Merci Philou ca marche bien =)
    Par contre une dernière question y aurait 'il un moyen de spécifier automatiquement le chemin du répertoire dans le main.perl pour ainsi éviter de taper en ligne de commande le répertoire ou se situe le fichier ?

    Merci beaucoup et bonne journée !

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Si c'est une constante, tu peux le mettre dans ton programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $root_path = "c:\\perl\\main\\traj";
    Si c'est relatif au fichier de script tu peux utiliser le module Findbin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    use FindBin;
     
    my $root_path = $Findbin::Bin."\\traj";
    Tu peux également définir une variable d'environnement qui contient le chemin, et prendre comme valeur par défaut si elle n'existe pas, l'une des solutions ci-dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    use FindBin;
    use 5.10;
     
    my $root_path = $ENV{TRAJ_DIR} // $Findbin::Bin."\\traj";
    ou en version inférieur à perl 5.10
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    use FindBin;
     
    my $root_path = defined $ENV{TRAJ_DIR} ? $ENV{TRAJ_DIR} : $Findbin::Bin."\\traj";

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

Discussions similaires

  1. [Lazarus] Proposition de FAQ : les options de ligne de commande de L'EDI
    Par SergioMaster dans le forum Lazarus
    Réponses: 1
    Dernier message: 26/10/2009, 20h35
  2. options en lignes de commande de linker sur Cygnus
    Par wahid_kw1 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 21/03/2009, 16h59
  3. Passer un tableau en option de ligne de commande
    Par david06600 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 10/12/2008, 13h38
  4. Réponses: 3
    Dernier message: 05/11/2007, 15h25
  5. Réponses: 6
    Dernier message: 11/09/2005, 14h55

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