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

Modules Perl Discussion :

Comment réunir l'appel de modules dans un seul fichier


Sujet :

Modules Perl

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    novembre 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2022
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Comment réunir l'appel de modules dans un seul fichier
    Bonjour,
    J'utilise Perl v5.16.3 sous Linux.

    Voilà mon souci : J'ai un script A.pl qui appelle via 'use' les modules suivants :
    use Date::Format;
    use REST::Client;
    use MIME::Base64;
    use JSON;
    use Data:umper;
    use IO::Socket::SSL qw( SSL_VERIFY_NONE );
    use Math::Calc::Units qw(calc readable convert equal);
    use Time:iece::ISO;

    Je vais devoir créer plusieurs script similaires à A.pl, mais je n'ai pas envie de devoir rappeler tous ces modules dans chacun de scripts.
    Aussi j'ai crée un fichier mymodule.pm contenant :

    __________________________________________________
    package mymodule;

    use Date::Format;
    use REST::Client;
    use MIME::Base64;
    use JSON;
    use Data:umper;
    use IO::Socket::SSL qw( SSL_VERIFY_NONE );
    use Math::Calc::Units qw(calc readable convert equal);
    use Time:iece::ISO;
    1;
    __________________________________________________

    Maintenant j'ai rajouté dans @INC le $PATH de ce fichier mymodule.pm.
    Dans A.pl j'ai supprimé tous les use ... car uls ont réunis dans mymodule.pm
    Dans A.pl je le charge ("use mymodule;") ... en éspérant que tous les modules appelé dans mymodule sont bien chargés.

    Mais quand j'exécute A.pl ... à la ligne ou je dois un des modules (Par exemple : MIME:BAse64) j'ai :
    Undefined subroutine &main::encode_base64 called at ./A.pl line 60.

    ... Bref c'est comme si il n'a pas excécuté le 'use MIME::Base64;' présent dans mymodule.pm

    Si quelqu'un a une idée ?
    Mon but étant juste de réunir tous les modules dont j'ai besoin dans un seul fichier ... puis de n'appeler QUE ce fichier dans mes scripts.

    Merci !

  2. #2
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    septembre 2011
    Messages
    1 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2011
    Messages : 1 388
    Points : 2 041
    Points
    2 041
    Par défaut
    Bonjour,

    Je crois me souvenir qu'il faut ajouter dans les use:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    use lib '.';				# Car le répertoire courant ne fait plus parti de @INC
    J'ai eu un pb similaire mais il y a très longtemps... je ne suis plus sûr de rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    use strict;
    use warnings;
    use utf8;
    use lib '.';			# Car le répertoire courant ne fait plus parti de @INC (Pour TestModule.pm)

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/07/2015, 22h51
  2. Réponses: 3
    Dernier message: 13/06/2012, 14h00
  3. Réponses: 0
    Dernier message: 02/04/2011, 21h22
  4. Comment centraliser les données de context dans un seul fichier ?
    Par Scorpio85 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 31/07/2008, 15h37
  5. [MEX] Comment appeler des modules dans un projet
    Par fatenov dans le forum MATLAB
    Réponses: 4
    Dernier message: 22/11/2007, 23h58

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