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 :

exécution d'un script perl avec chemin absolu


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2021
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2021
    Messages : 27
    Par défaut exécution d'un script perl avec chemin absolu
    Bonjour à tous!

    J'ai un program perl, qui se lance bien quand je fais perl program.pl

    Mais si je suis dans un autre répertoire, et que je fais:
    perl /root/test/program.pl

    Sa me dit qu'il me manque des modules...

    ça peu venir de quoi?

    merci à vous.

  2. #2
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    756
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 756
    Par défaut
    Citation Envoyé par djblind Voir le message
    Sa me dit qu'il me manque des modules...

    ça peu venir de quoi?
    Les modules ce sont les fichiers avec l'extension ".pm" (alors que le ".pl" c'est pour les programmes)

    Citation Envoyé par djblind Voir le message
    J'ai un program perl, qui se lance bien quand je fais perl program.pl

    Mais si je suis dans un autre répertoire, et que je fais:
    perl /root/test/program.pl

    Sa me dit qu'il me manque des modules...
    Le programme recherche les modules en fonction du contenu de la variable @INC
    Un simple "perl -V" te dira, entre plein d'autres choses, la valeur actuellement configurée pour ton environnement.

    D'après le comportement que tu décris, je présume que
    • les modules qu'il cherche sont dans le même répertoire que le programme
    • la valeur "." fait partie des valeurs qui sont dans @INC

    Sauf que ".", ça signifie "le répertoire où tu te trouves", pas "le répertoire où le programme se trouve". C'est pour ça que ça marche bien quand tu es dans le répertoire mais pas si tu lances le programme depuis un autre endroit.

    Ce que tu peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     perl -I/root/test /root/test/program.pl
    L'ajout "-I/root/test" dit "ajoute la valeur /root/test dans INC, uniquement pour cette fois
    Si tu veux que ce soit systématique, tu peux ajouter au début du programme. Mais ça marchera seulement tant que tu ne déplaces pas le programme sur une autre machine (ou si tu déplaces le programme et les modules à un autre endroit)!

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/04/2012, 01h45
  2. Le temps d'exécution de vos scripts perl!!
    Par djibril dans le forum Langage
    Réponses: 5
    Dernier message: 17/06/2009, 10h42
  3. Script perl qui exécute d'autres scripts perl
    Par LFC dans le forum Langage
    Réponses: 1
    Dernier message: 21/07/2006, 18h54
  4. [Système] Lancer un script perl avec PHP
    Par pepite dans le forum Langage
    Réponses: 2
    Dernier message: 09/01/2006, 12h30
  5. Réponses: 6
    Dernier message: 23/05/2005, 08h33

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